Digital Equipment Corporation HSD50 Array Controller Service Manual
Reklama
Reklama
DIGITAL StorageWorks
HSD50 Array Controller
HSOF Version 5.1
Service Manual
Part Number: EK-HSD50-SV.B01
March 1997
Software Version:
HSOF Version 5.1
Digital Equipment Corporation
Maynard, Massachusetts
March, 1997
While Digital Equipment Corporation believes the information included in this manual is correct as of the date of publication, it is subject to change without notice. DIGITAL makes no representations that the interconnection of its products in the manner described in this document will not infringe existing or future patent rights, nor do the descriptions contained in this document imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. No responsibility is assumed for the use or reliability of firmware on equipment not supplied by DIGITAL or its affiliated companies. Possession, use, or copying of the software or firmware described in this documentation is authorized only pursuant to a valid written license from DIGITAL, an authorized sublicensor, or the identified licensor.
Commercial Computer Software, Computer Software Documentation and Technical Data for Commercial Items are licensed to the U.S. Government with DIGITAL’s standard commercial license and, when applicable, the rights in DFAR 252.227-7015,
“Technical Data—Commercial Items.”
© Digital Equipment Corporation 1997.
Printed in U.S.A.
All rights reserved.
Alpha, CI, DCL, DECconnect, DECserver, DIGITAL, DSSI, HSC, HSJ, HSD, HSZ, MSCP, OpenVMS, StorageWorks, TMSCP,
VAX, VAXcluster, VAX 7000, VAX 10000, VMS, VMScluster, and the DIGITAL logo are trademarks of Digital Equipment
Corporation. All other trademarks and registered trademarks are the property of their respective holders.
This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC
Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense. Restrictions apply to the use of the local-connection port on this series of controllers; failure to observe these restrictions may result in harmful interference. Always disconnect this port as soon as possible after completing the setup operation. Any changes or modifications made to this equipment may void the user's authority to operate the equipment.
Warning!
This is a Class A product. In a domestic environment this product may cause radio interference in which case the user may be required to take adequate measures.
Achtung!
Dieses ist ein Gerät der Funkstörgrenzwertklasse A. In Wohnbereichen können bei Betrieb dieses Gerätes Rundfunkstörungen auftreten, in welchen Fällen der Benutzer für entsprechende Gegenmaßnahmen verantwortlich ist.
Avertissement!
Cet appareil est un appareil de Classe A. Dans un environnement résidentiel cet appareil peut provoquer des brouillages radioélectriques. Dans ce cas, il peut être demandé à l’ utilisateur de prendre les mesures appropriées.
iii
Table of Contents
1 TROUBLESHOOTING
Introduction ............................................................................................................................ 1–2
Fault isolation guide ............................................................................................................... 1–3
Controller is not operating................................................................................................ 1–3
Unable to see units from host ........................................................................................... 1–3
VMS shadowsets go into mount verify ............................................................................. 1–4
Units are Host Unavailable............................................................................................... 1–4
Foreign disk drive is not usable ........................................................................................ 1–5
Interpreting controller LED codes........................................................................................... 1–6
Interpreting host event log messages ..................................................................................... 1–12
Finding the Instance Code in an Event Message............................................................. 1–12
Reading a DECevent error log .............................................................................................. 1–15
Using FMU to Describe Event Log Codes............................................................................. 1–19
Using FMU to Describe Recent Last Failure or Memory System Failure Codes ............. 1–21
Testing disks (DILX) ............................................................................................................ 1–22
Running a quick disk test ............................................................................................... 1–23
Running an initial test on all disks.................................................................................. 1–24
Running a disk basic function test .................................................................................. 1–25
Running an advanced disk test ....................................................................................... 1–28
DILX error codes ........................................................................................................... 1–31
DILX data patterns......................................................................................................... 1–32
Testing tapes (TILX) ............................................................................................................ 1–33
Running a quick tape test ............................................................................................... 1–34
Running a tape drive basic function test ......................................................................... 1–35
Running a tape drive read-only test ................................................................................ 1–38
Running an advanced tape drive test .............................................................................. 1–40
TILX error codes ........................................................................................................... 1–42
TILX data patterns ......................................................................................................... 1–44
HSD50 Array Controller Service Manual
iv
Monitoring system performance with the VTDPY utility ...................................................... 1–45
How to Run VTDPY...................................................................................................... 1–45
Using the VTDPY Control Keys .................................................................................... 1–46
Using the VTDPY Command Line................................................................................. 1–46
How to Interpret the VTDPY Display Fields .................................................................. 1–47
CI/DSSI Host Port Characteristics........................................................................... 1–48
SCSI Host Port Characteristics ................................................................................ 1–48
CI Performance Display .......................................................................................... 1–49
DSSI Performance Display...................................................................................... 1–49
CI/DSSI Connection Status ..................................................................................... 1–50
CI/DSSI Host Path Status ........................................................................................ 1–51
Device SCSI Status ................................................................................................. 1–52
Unit Status (abbreviated)......................................................................................... 1–53
Unit Status (full) ..................................................................................................... 1–56
Device Status .......................................................................................................... 1–59
Device SCSI Port Performance ............................................................................... 1–62
Help Example ......................................................................................................... 1–63
2 REPLACING FIELD-REPLACEABLE UNITS
Electrostatic discharge protection ........................................................................................... 2–2
Handling controllers or cache modules ............................................................................ 2–2
Handling the program card............................................................................................... 2–2
Handling controller host-port cables ................................................................................ 2–2
Replacing controllers and cache modules using C_swap ......................................................... 2–3
Controller and cache module warm-swap procedure ........................................................ 2–3
Preparing the subsystem............................................................................................ 2–4
Removing the modules.............................................................................................. 2–7
Installing the new modules...................................................................................... 2–10
Restarting the subsystem ......................................................................................... 2–13
Replacing a controller and cache module in a single controller configuration ....................... 2–15
Removing the controller.......................................................................................... 2–15
Installing the new module ....................................................................................... 2–20
Replacing one dual-redundant controller and write-back cache module ................................ 2–22
Removing the controller.......................................................................................... 2–23
Installing the new controller.................................................................................... 2–26
Replacing cache modules...................................................................................................... 2–29
Removing a write-back cache module in a single controller configuration .............. 2–30
Installing the new cache module ............................................................................. 2–32
Replacing external cache batteries (ECBs)............................................................................ 2–33
Replacing the SBB battery module ................................................................................ 2–34
Preparing the subsystem.......................................................................................... 2–34
Service Manual HSD50 Array Controller
v
Removing the ECB ................................................................................................. 2–35
Reinstalling the modules ......................................................................................... 2–39
Restarting the subsystem ......................................................................................... 2–41
Servicing the second cache module ......................................................................... 2–42
Removing the SBB battery module ......................................................................... 2–42
Reinstalling the modules ......................................................................................... 2–44
Restarting the subsystem ......................................................................................... 2–46
Replacing power supplies ..................................................................................................... 2–47
Removing the power supply .................................................................................... 2–47
Installing the new power supply .............................................................................. 2–48
Asynchronous swap method ........................................................................................... 2–49
Replacing storage devices ..................................................................................................... 2–50
Asynchronous disk drive swap ....................................................................................... 2–50
Disk drive replacement procedure (3 1/2 and 5 1/4-inch drives) ..................................... 2–51
Replacing tape drives............................................................................................................ 2–53
Tape drive replacement procedure ................................................................................. 2–53
Replacing a solid-state disk drive, optical, or CD-ROM drives ............................................. 2–54
Solid-state, optical, and CD-ROM drive replacement procedure .................................... 2–54
Replacing internal CI cables ................................................................................................. 2–56
Replacing the internal CI cables..................................................................................... 2–56
Replacing SCSI device port cables........................................................................................ 2–58
Replacing the device cables ........................................................................................... 2–58
3 INSTALLING
Precautions ............................................................................................................................. 3–2
Electrostatic discharge protection..................................................................................... 3–2
Handling controllers or cache modules...................................................................... 3–2
Handling the program card ........................................................................................ 3–2
Patching controller software.................................................................................................... 3–3
Code patch considerations................................................................................................ 3–3
Listing patches ................................................................................................................. 3–4
Installing a patch.............................................................................................................. 3–6
Code patch messages ....................................................................................................... 3–9
Formatting disk drives .......................................................................................................... 3–12
Considerations for formatting disk drives ....................................................................... 3–12
Installing new firmware on a device...................................................................................... 3–15
Considerations for installing new device firmware ......................................................... 3–16
Copying the firmware to your subsystem ....................................................................... 3–17
From OpenVMS...................................................................................................... 3–17
Installing the firmware onto a target device.................................................................... 3–18
HSUTIL abort codes ...................................................................................................... 3–21
HSD50 Array Controller Service Manual
vi
HSUTIL messages ......................................................................................................... 3–21
Installing a controller and cache module (single controller configuration) ............................ 3–25
Installing a second controller and cache module ................................................................... 3–30
Add a second controller: ......................................................................................... 3–31
Adding a second controller using C_SWAP .......................................................................... 3–38
Prepare the subsystem.................................................................................................... 3–39
Restarting the subsystem................................................................................................ 3–43
Installing a cache module ..................................................................................................... 3–44
Install a cache module (single controller configuration) ................................................. 3–44
Removing the controller.......................................................................................... 3–45
Installing a write-back cache module ...................................................................... 3–47
Restarting the subsystem ......................................................................................... 3–50
Adding Cache Memory......................................................................................................... 3–52
Installing SIMM Cards................................................................................................... 3–53
Installing power supplies ...................................................................................................... 3–60
Power supply and shelf LED status indicators. ............................................................... 3–60
Installing a power supply ........................................................................................ 3–63
Installing storage building blocks.......................................................................................... 3–64
SBB activity and status indicators .................................................................................. 3–66
Asynchronous device installation ................................................................................... 3–68
Installing SBBs .............................................................................................................. 3–69
Installing a solid state disk CD-ROM and optical drives ................................................ 3–69
4 MOVING STORAGESETS AND DEVICES
Precautions ............................................................................................................................. 4–2
Moving storagesets ................................................................................................................. 4–3
Moving storageset members ................................................................................................... 4–6
Moving a single disk-drive unit .............................................................................................. 4–8
Moving devices .................................................................................................................... 4–10
5 REMOVING
Precautions ............................................................................................................................. 5–2
Removing a patch ................................................................................................................... 5–3
Removing a controller and cache module ............................................................................... 5–6
Removing storage devices .................................................................................................... 5–10
Removing disk drives .................................................................................................... 5–10
Removing solid state disks, read/write optical devices and CD-ROM drives .................. 5–11
Removing tape drives .................................................................................................... 5–13
Service Manual HSD50 Array Controller
vii
APPENDIX A
Instance codes and definitions................................................................................................ A-2
Last fail codes...................................................................................................................... A-42
Repair action codes.............................................................................................................. A-91
GLOSSARY
FIGURES
Figure 2–1 Connecting a maintenance terminal to the controller........................................... 2–4
Figure 2–2 Removing the program card ................................................................................ 2–6
Figure 2–3 Disconnecting the ECB cable .............................................................................. 2–8
Figure 2–4 Removing the controller and cache modules ....................................................... 2–9
Figure 2–5 Installing the new cache and controller module ................................................. 2–11
Figure 2–6 Reconnecting the ECB cable ............................................................................. 2–12
Figure 2–7 Connecting a maintenance terminal to the controller......................................... 2–16
Figure 2–8 Disconnecting the ECB cable ............................................................................ 2–17
Figure 2–9 Removing the program card .............................................................................. 2–18
Figure 2–10 Removing the controller and cache module ..................................................... 2–19
Figure 2–11 Installing the new cache and controller modules.............................................. 2–20
Figure 2–12 Connecting a maintenance terminal to the controller ....................................... 2–23
Figure 2–13 Removing the program card ............................................................................ 2–24
Figure 2–14 Disconnecting the ECB cable ........................................................................... 2–25
Figure 2–15 Removing the controller and cache modules ................................................... 2–26
Figure 2–16 Installing the new cache and controller module ............................................... 2–27
Figure 2–17 Connecting a maintenance terminal to the controller ....................................... 2–30
Figure 2–18 Removing controller and cache modules. ........................................................ 2–31
Figure 2–19 Installing cache and controller module ............................................................ 2–32
Figure 2–20 Connecting a maintenance terminal to the controller ....................................... 2–34
Figure 2–21 Removing the program card ............................................................................ 2–36
Figure 2–22 Removing the controller and cache module ..................................................... 2–37
Figure 2–23 ECB Cable Connection ................................................................................... 2–39
Figure 2–24 Reinstalling the cache and controller module .................................................. 2–40
Figure 2–25 ECB Cable Connection ................................................................................... 2–44
Figure 2–26 Removing the power supply ............................................................................ 2–48
Figure 2–27 The power supply status indicator ................................................................... 2–49
Figure 2–28 Removing a disk drive..................................................................................... 2–51
Figure 2–29 Status indicators for 3.5- and 5.25-inch SBBs.................................................. 2–52
HSD50 Array Controller Service Manual
viii
Figure 2–30 Removing a CD-ROM drive............................................................................ 2–55
Figure 2–31 Disconnecting the internal CI cable................................................................. 2–57
Figure 2–32 Removing the volume shield ........................................................................... 2–59
Figure 2–33 Access to the SCSI cables ............................................................................... 2–60
Figure 3–1 Connecting a maintenance terminal to the controller........................................... 3–4
Figure 3–2 Connecting a maintenance terminal to the controller........................................... 3–7
Figure 3–3 Copy the firmware to a disk drive in your subsystem, then distribute it to the devices you want to upgrade. ........................................................................................ 3–15
Figure 3–4 Connecting a maintenance terminal to the controller......................................... 3–26
Figure 3–5 Installing an ECB SBB ..................................................................................... 3–27
Figure 3–6 Installing power supplies into the controller shelf ............................................. 3–27
Figure 3–7 Installing a single controller (SW500 cabinet)................................................... 3–28
Figure 3–8 Installing a single controller (SW800 cabinet)................................................... 3–29
Figure 3–9 Connecting a maintenance terminal to the controller......................................... 3–31
Figure 3–10 Installing an SBB Battery module ................................................................... 3–34
Figure 3–11 Installing the second controller and cache module........................................... 3–35
Figure 3–12 Inserting the program card .............................................................................. 3–37
Figure 3–13 Connecting a maintenance terminal to the controller....................................... 3–40
Figure 3–14 Connecting a maintenance terminal to the controller....................................... 3–45
Figure 3–15 Disconnecting the CI cable adapter ................................................................. 3–46
Figure 3–16 Removing controller modules ......................................................................... 3–46
Figure 3–17 Installing an SBB battery module.................................................................... 3–47
Figure 3–18 Installing the cache and controller modules..................................................... 3–48
Figure 3–19 Removing the program card ............................................................................ 3–50
Figure 3–20 Installing the program card ............................................................................. 3–51
Figure 3–21 Connecting a maintenance terminal to the controller....................................... 3–53
Figure 3–22 Disconnecting the CI cable ............................................................................. 3–54
Figure 3–23 Removing controller and cache modules ......................................................... 3–55
Figure 3–24 Cache configurations for cache version 3 ........................................................ 3–56
Figure 3–25 Installing the controller and cache module ...................................................... 3–57
Figure 3–26 Removing the program card ............................................................................ 3–58
Figure 3–27 Installing a power supply SBB ........................................................................ 3–63
Figure 3–28 Typical 3.5-inch and 5.25-inch disk drive or optical disk SBBs....................... 3–64
Figure 3–29 Typical 5.25-inch CD ROM SBB.................................................................... 3–65
Figure 3–30 Typical 3.5-inch tape drive SBB .................................................................... 3–66
Figure 4–1 Moving a storageset from one subsystem to another............................................ 4–3
Figure 4–2 Maintaining symmetry in your subsystem makes it easier to keep track of your storagesets and their members ...................................................................................... 4–6
Figure 5–1 Connecting a maintenance terminal to the controller........................................... 5–3
Figure 5–2 Connecting a maintenance terminal to the controller........................................... 5–6
Figure 5–3 Disconnecting the CI cable connector ................................................................ 5–7
Figure 5–4 Removing the ECB cables .................................................................................. 5–8
Figure 5–5 Removing the controller and cache module......................................................... 5–9
Service Manual HSD50 Array Controller
ix
Figure 5–6 Removing a 3.5-inch disk drive......................................................................... 5–11
Figure 5–7 Connecting a maintenance terminal to the controller......................................... 5–12
TABLES
Table 1–1 Solid controller LED codes .................................................................................. 1–6
Table 1–2 Flashing controller LED codes ............................................................................. 1–7
Table 1–3 DILX data patterns ............................................................................................. 1–32
Table 1–4 TILX data patterns ............................................................................................. 1–44
Table 1–5 VTDPY control keys .......................................................................................... 1–46
Table 1–6 VTDPY commands ............................................................................................ 1–47
Table 2–1 Required tools ..................................................................................................... . 2–3
Table 2–2 ECB status indicators ......................................................................................... 2–14
Table 2–3 Required tools for single controller replacement................................................. 2–15
Table 2–4 Required tools for controller replacement........................................................... 2–22
Table 2–5 Required tools .................................................................................................... 2 –29
Table 2–6 Required tools .................................................................................................... 2 –33
Table 2–7 Required tools .................................................................................................... 2 –47
Table 2–8 Required tools for installing disk drives.............................................................. 2–50
Table 2–9 Required tools for SBB replacement................................................................... 2–53
Table 2–10 Required tools for Replacing solid-state disk drives.......................................... 2–54
Table 2–11 Required tools for CI host cable replacement ................................................... 2–56
Table 2–12 Required tools for replacing SCSI device cables............................................... 2–58
Table 3–1 Abort codes ........................................................................................................ 3–21
Table 3–2 Required tools for controller installation ............................................................ 3–25
Table 3–3 Controller installation guide ............................................................................... 3–25
Table 3–4 ECB status indications........................................................................................ 3–30
Table 3–5 Required tools .................................................................................................... 3 –31
Table 3–6 Controller installation guide ............................................................................... 3–33
Table 3–7 ECB status indicators ......................................................................................... 3–38
Table 3–8 Required tools for adding a second controller..................................................... 3–39
Table 3–9 Required tools for cache module replacement .................................................... 3–44
Table 3–10 Required tools .................................................................................................. 3–52
Table 3–11 Adding cache memory capacity........................................................................ 3–56
Table 3–12 Power supply status indicators .......................................................................... 3–60
Table 3–13 Shelf and single power supply status indicators ................................................ 3–61
Table 3–14 Shelf and dual power supply status indicators................................................... 3–62
Table 3–15 Required tools for power supply installation..................................................... 3–63
Table 3–16 Storage SBB Status Indicators .......................................................................... 3–67
HSD50 Array Controller Service Manual
x
Table 5–1 Required tools ..................................................................................................... . 5–3
Table 5–2 Required tools ..................................................................................................... . 5–6
Table 5–3 Required tools .................................................................................................... 5 –10
Table 5–4 Required tools .................................................................................................... 5 –11
Table 5–5 Required tools .................................................................................................... 5 –13
Table A–1 Instance codes ..................................................................................................... A-2
Table A–2 Executive services last failure codes.................................................................. A-41
Table A–3 Value-added services last failure codes ............................................................. A-45
Table A–4 Device services last failure codes ...................................................................... A-55
Table A–5 Fault manager last failure codes ........................................................................ A-63
Table A–6 Common library last failure codes ..................................................................... A-66
Table A–7 DUART services last failure codes .................................................................... A-66
Table A–8 Failover control last failure codes...................................................................... A-67
Table A–9 Nonvolatile parameter memory failover control last failure codes ..................... A-68
Table A–10 Facility lock manager last failure codes........................................................... A-70
Table A–11 Integrated logging facility last failure codes .................................................... A-71
Table A–12 CLI last failure codes ...................................................................................... A-71
Table A–13 Host interconnect services last failure codes .................................................... A-73
Table A–14 SCSI host interconnect services last failure codes............................................ A-75
Table A–15 Host interconnect port services last failure codes............................................. A-76
Table A–16 Disk and tape MSCP server last failure codes .................................................. A-79
Table A–17 Diagnostics and utilities protocol server last failure codes ............................... A-83
Table A–18 System communication services directory last failure code ............................. A-84
Table A–19 SCSI host value-added services last failure codes ............................................ A-84
Table A–20 Disk inline exerciser (DILX) last failure codes ................................................ A-85
Table A–21 Tape inline exerciser (TILX) last failure codes................................................ A-86
Table A–22 Device configuration utilities (CONFIG/CFMENU) last failure codes............. A-88
Table A–23 Clone unit utility (CLONE) last failure codes.................................................. A-88
Table A–24 Format and device code load utility (HSUTIL) last failure codes..................... A-88
Table A–25 Code load/code patch utility (CLCP) last failure codes.................................... A-89
Table A–26 Induce controller crash utility (CRASH) last failure codes............................... A-89
Table A–27 Repair action codes ......................................................................................... A-90
Service Manual HSD50 Array Controller
Related documents
The following table lists documents that contain information related to this product.
Document title
DECevent Installation Guide
StorageWorks BA350–MA Controller Shelf User's
Guide
StorageWorks Configuration Manager for DEC
OSF/1 Installation Guide
StorageWorks Configuration Manager for DEC
OSF/1 System Manager's Guide for HSZterm
StorageWorks Solutions Configuration Guide
StorageWorks Solutions Shelf and SBB User's
Guide
StorageWorks Solutions SW300-Series RAID
Enclosure Installation and User's Guide
StorageWorks SW500-Series Cabinet Installation and User's Guide
StorageWorks SW800-Series Data Center Cabinet
Installation and User's Guide
The RAIDBOOK—A Source for RAID
Technology
Polycenter Console Manager User's Guide
VAXcluster Systems Guidelines for VAXcluster
System Configurations
16-Bit SBB User’s Guide
7-Bit SBB Shelf (BA356 Series) User’s Guide
SBB User’s Guide
Part number
AA–Q73JA–TE
EK–350MA–UG
AA–QC38A–TE
AA–QC39A–TE
EK–BA350–CG
EK–BA350–UG
EK–SW300–UG
EK–SW500–UG
EK–SW800–UG
RAID Advisory
Board
Computer Associates
EK–VAXCS–CG
EK-SBB16-UG
EK-BA356-UG
EK-SBB35-UG xi
HSD50 Array Controller Service Manual
HSD50 Array Controller
1
Troubleshooting
Fault isolation guide
Interpreting log messages controller LED codes
Interpreting host event
Reading a DECevent error log
Using FMU to describe event log codes
Testing disk drives
Testing tapes
Monitoring subsystem performance
Service Manual
1–2 Troubleshooting
Introduction
This chapter is designed to help you diagnose and correct any problems you might encounter while working with StorageWorks HSD controllers.
Service Manual HSD50 Array Controller
Troubleshooting 1–3
Fault isolation guide
This section is structured to help you match the symptoms that you are seeing (console message, unit not available, and so on) with the source of those symptoms.
Controller is not operating
Symptoms
•
Controller is not operating.
•
Green RESET LED is on solid.
•
Controller does not restart when you press the RESET button.
Likely Cause
In dual-redundant configurations, when one controller stops, the surviving controller asserts a “kill” line, which prevents the controller from restarting.
Solution
1. Establish a local or remote terminal connection to the operating controller.
2. Use the Command Line Interface (CLI) to tell the operating controller to allow the other controller to restart:
HSD50> RESTART OTHER_CONTROLLER
3. Press the RESET button on the non-operating controller and verify that it returns to normal service.
Unable to see units from host
Symptoms
•
Units have been created in the subsystem, but cannot be seen from the host.
Likely Cause
Settings are not correct or enabled to allow the subsystem to communicate with the host.
Solution
•
Check that the console version includes HSD50 device support.
•
Check that PATH_A and PATH_B are enabled on the HSD50 (
SHOW
THIS
).
HSD50 Array Controller Service Manual
1–4 Troubleshooting
•
Check that the CIXCD is set up correctly:
– Quiet Slot Count = 10 (Tick Count)
– CI Node number for the subsystem does not conflict with another
CI node.
– CIXCD transition card is plugged into the right backplane slot and seated properly.
– CI cables are wired correctly: Transmit to Transmit and Receive to
Receive
•
Check that the screws that attach the internal CI cable to the controller are tightened.
VMS shadowsets go into mount verify
Symptoms
•
Units that are members of VMS shadowsets intermittently go into
Mount Verification during heavy I/O operations such as backup or shadow copy.
•
VMS errorlog shows “DATAGRAM FOR NON-EXISTING UCB” at the time of the mount verifications.
•
HSD50 controller error log shows instance code 4007640A.
Likely Cause
The HSD50 declared a timeout on the CI, which momentarily closed its VC with the host node.
Solution
The Quiet Slot may not be set correctly on the host nodes to work with the
HSD50 controllers. Set the Quiet Slot to 10.
Units are Host Unavailable
Symptoms
•
The OpenVMS host reports all disk or tape units in the subsystem as host unavailable.
•
The host can see the controller.
Service Manual HSD50 Array Controller
Troubleshooting 1–5
Likely Cause
The CI connections are not complete.
The mass storage control protocol (MSCP) and/or tape mass storage control protocol (TMSCP) allocation class settings on the controller have been changed while the cluster was up.
Solution
Check the CI cable connections.
Check the MSCP and TMSCP allocation class in the controller.
HSD50> SHOW THIS_CONTROLLER
HSD50> SHOW OTHER_CONTROLLER
If the settings are not correct, you must either change them and the restart the cluster, or change the controller’s
SCS
_
NODENAME
.
If the
SCS
_
NODENAME contains characters such as “_” or “$”, the controller will not establish a VMS disk or tape class connection. Change the
SCS
_
NODENAME and restart the controller.
Foreign disk drive is not usable
Symptoms
•
An RZ disk drive moved from another environment to the
StorageWorks subsystem is not usable from the host.
•
You want to keep the data that is on the foreign disk drive.
Likely Cause
The disk does not contain controller metadata, and is not set as
TRANSPORTABLE
. The controller can only present foreign disks when they are set as
TRANSPORTABLE
.
Solution
1. From the controller CLI, set the disk drive as transportable:
CLI> SET
disk-name TRANSPORTABLE
ADD DISK command.
2. Look for the disk as a DKA device in VMS.
HSD50 Array Controller Service Manual
1–6 Troubleshooting
Interpreting controller LED codes
The operator control panel (OCP) on each HSD50 controller contains a green reset LED and six amber device bus LEDs. These LEDs light in patterns to display codes when there is a problem with a device configuration, a device, or a controller.
•
During normal operation, the green reset LED on each controller flashes once per second, and the amber device bus LEDs are not lit.
•
The amber LED for a device bus lights continuously when the installed devices do not match the controller configuration, or when a device fault occurs.
•
The green reset LED lights continuously and the amber device bus
LEDs display a code when a controller problem occurs. Solid LED codes indicate a fault detected by internal diagnostic and initialization routines. Flashing LED codes indicate a fault that occurred during core diagnostics.
Look up the LED code that is showing on your controller in Table 1–1 or
Table 1–2 to determine its meaning and find the corrective action. The symbols used in the tables have the following meanings:
O LED on
P LED off
M LED flashing
Table 1–1 Solid controller LED codes
Code
O O O O O O O
Description of Error
DAEMON hard error
O O O O O O P
O O O O O P O
Repeated firmware bugcheck
NVMEM version mismatch
O O O O O P P
O O O O P O O
O O O O P O P
NVMEM write error
NVMEM read error
NMI error within firmware bugcheck
Corrective Action
Replace controller module.
Replace controller module.
Replace program card with later version of firmware.
Replace controller module.
Replace controller module.
Reset the controller.
Service Manual HSD50 Array Controller
Troubleshooting
Code
O O O O P P O
O O O O P P P
O O O P O O O
O O O P O O P
O O O P O P O
O O O P P O O
O O O P P O P
O O O P P P O
O O O P P P P
O P P P P P P
1–7
Description of Error
Inconsistent NVMEM structures repaired
Bugcheck with no restart
Firmware induced restart following bugcheck failed to occur
Hardware induced restart following bugcheck failed to occur
Bugcheck within bugcheck controller
NVMEM version is too low
Corrective Action
Reset the controller.
Reset the controller.
Replace controller module.
Replace controller module.
Program card write fail
ILF$INIT unable to allocate memory
Bugcheck before subsystem initialization completed
No program card seen
Reset controller module.
Verify the card is the latest revision. If the problem still exists, replace the module.
Replace the card.
Reset the controller.
Reset the controller.
Try the card in another module. If the problem follows the card, replace the card.
Otherwise, replace the controller.
HSD50 Array Controller
Table 1–2 Flashing controller LED codes
Code
O P P P P P M
O P P P M P P
Description of Error Corrective Action
Program card EDC error Replace program card.
Timer zero in the timer chip will run when disabled
Replace controller module.
Service Manual
1–8
Service Manual
Code
O P P P M P M
O P P P M M P
O P P P M M M
O P P M P P P
O P P M P P M
O P P M P M P
O P P M P M M
O P P M M P P
O P P M M P M
O P P M M M P
O P P M M M M
O P M P P P P
O P M P P P M
Troubleshooting
Description of Error
Timer zero in the timer chip decrements incorrectly
Timer zero in the timer chip did not interrupt the processor when requested
Timer one in the timer chip decrements incorrectly
Timer one in the timer chip did not interrupt the processor when requested
Timer two in the timer chip decrements incorrectly
Timer two in the timer chip did not interrupt the processor when requested
Memory failure in the
I/D cache
No hit or miss to the I/D cache when expected
One or more bits in the diagnostic registers did not match the expected reset value
Memory error in the nonvolatile journal
SRAM
Wrong image seen on program card
At least one register in the controller DRAB does not read as written
Main memory is fragmented into too many sections for the number of entries in the good memory list
Corrective Action
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace program card
Replace controller module.
Replace controller module.
HSD50 Array Controller
Troubleshooting
Code
O P M P P M P
O P M P P M M
O P M P M P P
O P M P M P M
O P M P M M P
O P M P M M M
O P M M P P P
O P M M P P M
Description of Error
The controller DRAB or
DRAC chip does not arbitrate correctly
The controller DRAB or
DRAC chop failed to detect forced parity, or detected parity when not forced
The controller DRAB or
DRAC chip failed to verify the EDC correctly
The controller DRAB or
DRAC chip failed to report forced ECC
The controller DRAB or
DRAC chip failed some operation in the reporting, validating, and testing of the multibit ECC memory error
The controller DRAB or
DRAC chip failed some operation in the reporting, validating, and testing of the multiple single-bit ECC memory error
The controller main memory did not write correctly in one or more sized memory transfers
The controller did not cause an I-to-N bus timeout when accessing a “reset” host port chip
Corrective Action
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
1–9
HSD50 Array Controller Service Manual
1–10
Service Manual
Code
O P M M P M P
O P M M P M M
O P M M M P P
O P M M M P M
O P M M M M P
O P M M M M M
O M P P P P P
O M P P P P M
O M P P P M M
Troubleshooting
Description of Error
The controller DRAB or
DRAC did not report an
I-to-N bus timeout when accessing a
“reset” host port chip.
The controller DRAB or
DRAC did not interrupt the controller processor when expected
The controller DRAB or
DRAC did not report an
NXM error when nonexistent memory was accessed
The controller DRAB or
DRAC did not report an address parity error when one was forced
There was an unexpected nonmaskable interrupt from the controller
DRAB or DRAC during the DRAB memory test.
Diagnostic register indicates there is no cache module, but an interrupt exists from the non-existent cache module
The required amount of memory available for the code image to be loaded from the program cad is insufficient
The required amount of memory available in the pool area is insufficient for the controller to run
The required amount of memory available in the buffer area is insufficient for the controller to run
Corrective Action
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
HSD50 Array Controller
Troubleshooting
Code
O M P P M P P
O M P P M P M
O M P P M M P
O M M P P P P
O M M M P M P
O M M M P M M
O M M M M P P
O M M M M P M
O M M M M M P
O M M M M M M
1–11
Description of Error
The code image was not the same as the image on the card after the contents were copied to memory
Diagnostic register indicates that the cache module does not exist, but access to that cache module caused an error
Diagnostic register indicates that the cache module does not exist, but access to that cache module did not cause an error the journal SRAM battery is bad
There was an unexpected interrupt from a read cache or the present and lock bits are not working correctly
There is an interrupt pending on the controller’s policy processor when there should be none
There was an unexpected fault during initialization
There was an unexpected maskable interrupt received during initialization
There was an unexpected nonmaskable interrupt received during initialization
An illegal process was activated during initialization
Corrective Action
Replace controller module.
Replace controller shelf backplane.
Replace controller shelf backplane.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
Replace controller module.
HSD50 Array Controller Service Manual
1–12 Troubleshooting
Interpreting host event log messages
This section explains how to interpret event messages sent to the host system by StorageWorks HSD controllers. Some of these messages are information-only, others report significant events, and others report subsystem and controller failures.
You can use the Fault Management Utility (FMU) in the controller to get more information on any specific event. The FMU can provide a description of instance codes, last failure codes, and memory system failure codes. The
FMU can also provide recommended repair actions for each code. Because the subsystem and controller might be out of service after an event that generates a last failure code, you might not be able to run FMU. Instance codes and last failure codes are listed in this chapter.
Finding the Instance Code in an Event Message
To work with and understand the event logs, use these steps and guidelines.
1. Note the MSLG$B_FORMAT field in the upper portion of the log.
Also note the CONTROLLER DEPENDENT INFORMATION in the lower portion of the log: this information varies according to the
MSLG$B_FORMAT field.
2. Locate a 32-bit instance code in the CONTROLLER DEPENDENT
INFORMATION area. This is the key to interpreting error logs. The instance code uniquely identifies the following:
– The error or condition
– The component reporting the condition
– The recommended repair action
3. Keep in mind that the 32-bit instance code appears in LONGWORD 1 of CONTROLLER DEPENDENT INFORMATION, with the following exceptions:
– When MSLG$B_FORMAT reads 09 BAD BLOCK
REPLACEMENT ATTEMPT, the instance code does not appear, because the Error Reporting Formatter (ERF) does not provide
CONTROLLER DEPENDENT INFORMATION.
Service Manual HSD50 Array Controller
Troubleshooting 1–13
– When MSLG$B_FORMAT reads 0A MEDIA LOADER LOG, the instance code appears in LONGWORD 2.
– When MSLG$B_FORMAT reads 00 CONTROLLER LOG, the instance code appears in part of both LONGWORD 1 and
LONGWORD 2.
– For the 00 CONTROLLER LOG MSLG$B_FORMAT, the code is skewed and not directly readable as a longword. (The code's loworder bytes appear in the two high-order bytes of LONGWORD 1, and the code's high-order bytes appear in the two low-order bytes of LONGWORD 2.) For example:
CONTROLLER DEPENDENT INFORMATION
LONGWORD 1. 030A0000
/..../
LONGWORD 2. 24010102
/...$/
4. The following VMS example shows an example of an ERF translated host error log (a Disk Transfer Event log). Locate MSLG$B_FORMAT and CONTROLLER DEPENDENT INFORMATION in the example.
V M S SYSTEM ERROR REPORT COMPILED 9-FEB-1997 13:41:37
PAGE 758.
**************************** ENTRY 1122. ****************************
ERROR SEQUENCE 5. LOGGED ON: CPU_TYPE 00000002
DATE/TIME 28-JAN-1997 11:39:40.33 SYS_TYPE 00000003
SYSTEM UPTIME: 0 DAYS 00:01:41
SCS NODE: MTX2 OpenVMS AXP X6.1-FT7
HW_MODEL: 00000401 Hardware Model = 1025.
ERL$LOGMESSAGE ENTRY DEC 7000 Model 610
I/O SUB-SYSTEM, UNIT _MAT$DUA450:
MESSAGE TYPE 0001
DISK MSCP MESSAGE
MSLG$L_CMD_REF 00000000
MSLG$W_UNIT 01C2
UNIT #450.
MSLG$W_SEQ_NUM 0015
SEQUENCE #21.
MSLG$B_FORMAT 02
DISK TRANSFER LOG
MSLG$B_FLAGS 00
HSD50 Array Controller Service Manual
1–14 Troubleshooting
UNRECOVERABLE ERROR
MSLG$W_EVENT 014B
DRIVE ERROR
CNTRLR DETECTED PROTOCOL ERROR
MSLG$Q_CNT_ID 01280009 40802576
UNIQUE IDENTIFIER, 000940802576(X)
MASS STORAGE CONTROLLER
MODEL = 40.
MSLG$B_CNT_SVR 14
CONTROLLER SOFTWARE VERSION #20.
MSLG$B_CNT_HVR 49
CONTROLLER HARDWARE REVISION #73.
MSLG$W_MULT_UNT 0035
MSLG$Q_UNIT_ID 02FF0000 00000022
UNIQUE IDENTIFIER, 000000000022(X)
DISK CLASS DEVICE (166)
HSXnn
MSLG$B_UNIT_SVR 01
UNIT SOFTWARE VERSION #1.
MSLG$B_UNIT_HVR 43
UNIT HARDWARE REVISION #67.
MSLG$B_LEVEL 01
MSLG$B_RETRY 00
MSLG$L_VOL_SER 00000000
VOLUME SERIAL #0.
MSLG$L_HDR_CODE 00000000
LOGICAL BLOCK #0.
GOOD LOGICAL SECTOR
CONTROLLER DEPENDENT INFORMATION
LONGWORD 1. 030C4002
/.@../
LONGWORD 2. 00003C51
/Q<../
LONGWORD 3. 00000000
/..../
LONGWORD 4. 000B9331
/1.../
LONGWORD 5. 00000000
/..../
LONGWORD 6. 00000000
/..../
LONGWORD 7. 00000000
/..../
LONGWORD 8. 00000000
/..../
LONGWORD 9. 1F000504
/..../
LONGWORD 10. 36325A52
/RZ26/
Service Manual HSD50 Array Controller
Troubleshooting 1–15
LONGWORD 11. 20202020
/ /
LONGWORD 12. 29432820
/ (C)/
LONGWORD 13. 43454420
/ DEC/
LONGWORD 14. 34333533
/3534/
LONGWORD 15. 37313739
/9717/
LONGWORD 16. 00000000
/..../
LONGWORD 17. 00000004
/..../
LONGWORD 18. 00000000
/..../
LONGWORD 19. 853F0000
/..?./
LONGWORD 20. 00000000
5. Once you locate and identify the instance code, see the Appendix for information about instance codes, last fail codes and recommended repair actions.
6. If possible, use the FMU to interpret the event codes. See Using FMU
to describe event log codes in this chapter for details about using the
FMU.
Reading a DECevent error log
DECevent-generated error reports, while containing basically the same information as ERF-generated reports, are far easier to interpret. This is true because more of the binary log is translated. Some of the information directly available from the ASCII report output includes the following:
•
Instance code
•
Recommended repair action
•
Recovery threshold
•
PTL of the faulty device
•
ASC/ASCQ code values
•
Template type
•
MSCP event code
•
Controller model
HSD50 Array Controller Service Manual
1–16 Troubleshooting
The error log example that follows illustrates the difference between an event log generated by ERF, as shown in the example in the previous section, and a DECevent log which translates the same event.
When using DECevent to translate event information, you should not need to refer as frequently to the information and tables included in the remaining sections of this chapter. However, familiarity with the ERF error log format and other elements of the event logs will help you understand the wide variety of events that might be reported, regardless of the translation utility you are using.
***************************** ENTRY 1122 *****************************
Logging OS 3. OpenVMS AXP
OS version X6.1-FT7
Event sequence number 5.
Timestamp of occurrence 28-JAN-1997 11:39:40
System uptime in seconds 101.
VMS error mask x00000000
VMS flags x0001 Dynamic Device Recognition present
Host name MTX2
AXP HW model DEC 7000 Model 610
System type register x00000003 DEC 7000
Unique CPU ID x00000002 mpnum x000000FF mperr x000000FF
Event validity -1. Unknown validity code
Event severity -1. Unknown severity code
Entry type 100.
Major Event class 3. IO Subsystem
AXP Device Type 0.
IO Minor Class 1. MSCP
IO Minor Sub Class 5. Logged Message
---- Device Profile ----
Vendor
Product Name HSX00 MSCP basic disk
Unit Name MAT$DUA
Unit Number 450.
Device Class x0001 Disk
---- IO SW Profile ----
VMS DC$_CLASS 1.
VMS DT$_TYPE 141.
Service Manual HSD50 Array Controller
Troubleshooting 1–17
---- MSCP Logged Msg ----
Command Reference number x00000000
Unit Number 450.
MSCP Sequence number 21.
Logged Message Format 2. Disk Transfer Error
MSCP Flags x00 No MSCP Flags indicated
MSCP Unique Controller-ID x0000000940802576
MSCP Controller Model 40. HSD50 HS Array Controller
MSCP Controller Class 1. Mass Storage Controller class
Controller SW version 20.
Controller HW version 73.
MSCP Unique Unit-ID x0000000000000022
MSCP Unit Model -1. HSX0n MSCP basic/virtual disk
MSCP Unit Class 2. Disk class - DEC Std 166 disk
Unit SW version 1.
Unit HW version 67.
MSCP Event Code x014B Major Event = Drive Error
Sub-event = Controller Detected
Protocol Error
Multiunit code x0035
Error recovery Level 1.
Retry count 0.
Volume Serial Number 0.
Header code x00000000 Flags= Good LBN
LBN = 0.
------- HSAC Data -------
Instance Code x030C4002 A Drive failed because a Test Unit
Ready command or a Read Capacity command failed.
Component ID = Device Services.
Event Number = x0000000C
Repair Action = x00000040
NR Threshold = x00000002
Template Type x51 Disk Transfer Error.
Power On Time Value x00000000000B9331
Completed Byte Count 0.
Starting LBN 0.
Device Locator x00000504 Port = 4.
Target = 5.
LUN = 0.
HSD50 Array Controller Service Manual
1–18 Troubleshooting
SCSI Device Type x1F Device Type not decoded.
Drive Product Name RZ26 (C) DEC
Drive Serial Number 35349717
Command Opcode x00 Test Unit Ready
Sense Data Qualifier x00 Buf Mode = The target shall not
report GOOD status on
write commands until
the data blocks are
actually written on the
medium.
UWEUO = zero, not defined
MSBD = zero, not defined
FBW = zero, not defined
DSSD = Sense Data fields were
generated by the HSAC
controller on behalf of the
target devices because the
Sense Data could not be
obtained from that device.
--- HSAC Sense Data ---
Error Code x00 Error Code no decoded
Segment # x00
Information Bytes x00000000
CMD Specific Info x00000000
Sense Key x04 Hardware Error
ASC & ASCQ x3F85 ASC = x003F
ASCQ = x0085
Test Unit Ready or Read Capacity
Command failed
FRU Code x00
Sense Key Specific Data x00000000 Sense Key Data NOT Valid
Byte 1 = x00000000
Byte 2 = x00000000
Byte 3 = x00000000
Service Manual HSD50 Array Controller
Troubleshooting 1–19
Using FMU to Describe Event Log Codes
FMU has a
DESCRIBE function that you can use to interpret event codes produced by the controller. Use this function to understand events that have occurred in the subsystem (instance codes) and to find the recommended repair action (repair action codes), as well as to interpret other codes.
The types of codes that FMU can describe are:
•
INSTANCE_CODE
•
REPAIR_ACTION_CODE
•
LAST_FAILURE_CODE
•
ASC_ASCQ_CODE
•
COMPONENT_CODE
•
CONTROLLER_UNIQUE_ASC_ASCQ_CODE
•
DEVICE_TYPE_CODE
•
EVENT_THRESHOLD_CODE
•
RESTART_TYPE
•
SCSI_COMMAND_OPERATION_CODE
•
SENSE_DATA_QUALIFIERS
•
SENSE_KEY_CODE
•
TEMPLATE_CODE
To translate a code:
1. Start FMU from the CLI.
HSD50> RUN FMU
2. Use the correct
DESCRIBE command and give it the code number that you want translated.
FMU> DESCRIBE
code-type code-number [additional numbers]
HSD50 Array Controller Service Manual
1–20
Service Manual
Troubleshooting
Example
HSD50> RUN FMU
Fault Management Utility
FMU> DESCRIBE INSTANCE_CODE 030C4002
Instance Code: 030C4002 Description:
A Drive failed because a Test Unit Ready command or a Read Capacity command failed.
Reporting Component: 3.(03) Description:
Device Services
Reporting component's event number: 12.(0C)
Event Threshold: 2.(02) Classification:
HARD. Failure of a component that affects controller performance or precludes access to a device connected to the controller is indicated.
FMU> DESCRIBE REPAIR_ACTION_CODE 22
Recommended Repair Action Code: 34.(22) Description:
Replace the indicated cache module.
If you are unsure what value to enter with the
DESCRIBE command, type a question mark (?) in place of a parameter to see the value and range required. For those code types that require multiple values, you must supply values for the earlier parameters before entering a question mark for the later values.
Example
FMU> DESCRIBE ASC_ASCQ_CODE ?
Your options are:
ASC value (range: 0 through FF hexadecimal)
FMU> DESCRIBE ASC_ASCQ_CODE 0 ?
Your options are:
ASCQ value (range: 0 through FF hexadecimal)
FMU> DESCRIBE ASC_ASCQ_CODE 0 0 ?
Your options are:
SCSI Device Type value (range: 0 through FF hexadecimal)
FMU>
HSD50 Array Controller
Troubleshooting 1–21
Using FMU to Describe Recent Last Fail or Memory System Failure
Codes
HSD50 controllers store the four most recent last failure codes and memory system failure codes. You can use the FMU utility to retrieve these codes and their descriptions.
To view a last failure or memory system failure code:
1. Start FMU from the CLI.
CLI> RUN FMU
2. To see all of the stored last failure or memory system failure events:
FMU> DESCRIBE LAST_FAILURE ALL
or
3. To see the most recent last failure or memory system failure events:
FMU> DESCRIBE LAST_FAILURE MOST_RECENT
or
4. To see one of the four stored last failure or memory system failure events:
FMU> DESCRIBE LAST_FAILURE
n
or
FMU>
n
Example
CLI> RUN FMU
Fault Management Utility
FMU> SHOW LAST_FAILURE MOST_RECENT
Last Failure Entry: 1. Flags: 000FF301
Template: 1.(01) Description: Last Failure Event
Occurred on 07-FEB-1997 at 09:21:44
Controller Model: HSD50
Serial Number: ZG51909900 Hardware Version: 0000(00)
Controller Identifier:
Unique Device Number: 01519090 Model: 40.(28) Class: 1.(01)
HSD50 Array Controller Service Manual
1–22 Troubleshooting
Firmware Version: W18J(FF)
Node Name: "HSDA3" CI Node Number: 12.(0C)
Informational Report
Instance Code: 01010302 Description:
An unrecoverable hardware detected fault occurred.
Reporting Component: 1.(01) Description:
Executive Services
Reporting component's event number: 1.(01)
Event Threshold: 2.(02) Classification:
HARD. Failure of a component that affects controller performance or precludes access to a device connected to the controller is indicated.
Last Failure Code: 018800A0 (No Last Failure Parameters)
Last Failure Code: 018800A0 Description:
A processor interrupt was generated with an indication that the program card was removed.
Reporting Component: 1.(01) Description:
Executive Services
Reporting component's event number: 136.(88)
Restart Type: 2.(02) Description: Automatic hardware restart
Testing disks (DILX)
HSD50 series controllers have a Disk In-line Exerciser (DILX) that you can use to test suspect disks. When you run DILX, you can specify many parameters for the test, such as starting and ending block numbers, the duration of the test, and whether the test should be read-only or read/write.
____________________ Caution ____________________
DILX places a heavy load on the controllers. To avoid the possibility that data may be lost, you should stop normal I/O operations before running DILX, or run DILX during periods of low activity.
________________________________________________
DILX can test several disks at the same time. Before starting DILX, you must configure the disks that you want to test as single-disk units. In other words, the disks cannot be part of any storageset, and they must have a unit number assigned.
There are four tests that you can run with DILX: a quick disk test, an initial test on all disks, a basic function test, and an advanced user-defined test.
Service Manual HSD50 Array Controller
Troubleshooting 1–23
Running a quick disk test
This section provides instructions on how to run a quick DILX test on one or more disks. This is a 10-minute read-only test that uses the default DILX settings.
1. Start DILX from the CLI prompt.
2. Skip the auto-configure option so that you can specify which disk drives to test.
Do you wish to perform an Auto-configure (y/n) ?
n
3. Accept the default settings.
Use all defaults and run in read only mode
(y/n)? y
4. The system displays a list of all single-disk units (by unit number) that you can choose for DILX testing. Select the first disk that you want to test. Do not include the letter “D” in the unit number.
Enter unit number to be tested? 350
5. DILX indicates whether it has been able to allocate the disk. If you want to test more disks, enter the unit numbers when prompted.
Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
DILX testing started at <date> <time>
Test will run for 10 minutes
6. DILX will run for 10 minutes and then display the results of the testing.
If you want to interrupt the test early:
– Type ^G (Control-G) to get a performance summary without stopping the test (^T if you are running DILX through the
VAXcluster console system (VCS).
– Type ^C to terminate the current DILX test.
– Type ^Y to terminate the current test and exit DILX.
HSD50 Array Controller Service Manual
1–24 Troubleshooting
Running an initial test on all disks
____________________ Caution ____________________
The initial test performs write operations. Make sure that the disks that you use do not contain customer data.
________________________________________________
This section provides instructions on how to run a DILX test on all singledisk units in the subsystem. This is a read/write basic function test that uses the default DILX settings. The test performs an initial write pass, followed by a repeating 10-minute cycle consisting of eight minutes of random I/O and two minutes of data-intensive transfers. You can set the duration of the test.
1. Start DILX from the CLI prompt.
2. Choose the auto-configure option to test all single-disk units.
Do you wish to perform an Auto-configure (y/n)
[n]? y
3. Choose option 1 (test all disks) if you have a single-controller system; choose option 2 (test half of the disks) if you have a dual-redundant controller system.
Enter auto-configure option (1:3) [3]? 1
4. DILX displays a warning indicating that data on the disks will be destroyed. Either exit the test, or enter y to continue.
All data on the Auto-Configured disks will be destroyed.
You *MUST* be sure of yourself.
Are you sure you want to continue (y/n) [n]? y
5. Enter the amount of time that you want the test to run. A single complete pass takes 10 minutes (after the initial write pass).
Enter execution time limit in minutes (1:65535)
[60] ? 25
6. If you want to see performance summaries while DILX is running, specify how often DILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [60] ? 5
Service Manual HSD50 Array Controller
Troubleshooting 1–25
7. The normal DILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many read and write operations were performed during the test.
Include performance statistics in performance summary (y/n) [n] y
8. DILX displays a list of the units that it is able to test and begins the initial write pass and test.
DILX testing started at <date> <time>
Test will run for <nn> minutes
9. DILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a current performance summary without stopping the test (^T if you are running DILX through
VCS).
– Type ^C to terminate the current DILX test.
– Type ^Y to terminate the current test and exit DILX.
Running a disk basic function test
This section provides instructions on how to run a DILX basic function test on one or more disks. The test performs an optional initial write pass, followed by a repeating 10-minute cycle consisting of eight minutes of random I/O and two minutes of data-intensive transfers. You can set the percentage of the test that will be read operations, the data pattern to use for write command, and other parameters.
1. Start DILX from the CLI prompt.
2. Skip the auto-configure option to get to the basic function test.
Do you wish to perform an Auto-configure (y/n) ?
n
3. Do not accept the default settings.
Use all defaults and run in read only mode
(y/n)? n
4. Enter the amount of time that you want the test to run. A single complete pass takes 10 minutes (after the initial write pass).
HSD50 Array Controller Service Manual
1–26
Service Manual
Troubleshooting
Enter execution time limit in minutes (1:65535)
[60] ? 25
5. If you want to see performance summaries while DILX is running, specify how often DILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [60] ? 5
6. The normal DILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many read and write operations were performed during the test.
Include performance statistics in performance summary (y/n) [n] y
7. DILX asks if you want hard and soft errors (sense data and deferred errors) displayed. If you do, answer y and respond to the rest of the questions. If you don’t want to see the errors displayed, answer n and proceed to the next step.
Display hard/soft errors? y
Display hex dump of Error Information Packet
Requester Specific information (y/n) [n] ? y
When the hard error limit is reached, the unit will be dropped from testing. Enter hard error limit (1:65535) [65535] ? 100
When the soft error limit is reached, soft errors will no longer be displayed but testing will continue for the unit. Enter soft error limit (1:65535) [32] ? 32
8. Set the maximum number of outstanding I/Os for each unit.
Set the I/O queue depth (1:12) [4] ? 9
9. Run the basic function test.
*** Available tests are:
1. Basic Function
2. User Defined
Use the Basic Function test 99.9% of the time.
The User Defined test is for special problems only.
Enter test number (1:2) [1] ? 1
HSD50 Array Controller
Troubleshooting 1–27
___________________ Caution _____________________
If you choose to write-enable disks during the test, make sure that the disks do not contain customer data.
________________________________________________
10. Set the test as read-only or read/write.
Write enable disk unit(s) to be tested (y/n)
[n]? y
11. Set the percentage of requests that will be read requests during the random I/O phase. The remaining requests will be write requests.
Enter read percentage for Random IO and Data
Intensive phase (0:100) [67] ? 80
12. If you set the test to allow write operations, specify the data pattern to be used for the writes. Unless you have some specific requirement, select 0 to use all patterns. See Table 1–3 for a listing of available patterns.
Enter data pattern number 0=ALL,
19=USER_DEFINED, (0:19) [0] ? 0
13. If you set the test to allow write operations and you want to test data integrity, enable or disable the initial write pass. The initial write pass writes the selected data patterns to the entire specified data space. This allows the data to be verified later, but it may take a long time to complete the write operation.
Perform initial write (y/n) [n] ? y
14. During the data intensive phase, DILX only executes access and erase commands. Set the percentage of commands that will be access commands; the remaining commands will be erase commands.
The erase percentage will be set automatically.
Enter access percentage for Seek Intensive phase
(0:100) [90] ?
15. If you enabled the initial write pass and want to test data integrity, set the percentage of read and write commands that will have a data compare operation performed.
Perform data compare (y/n) [n] ? y
Enter compare percentage (1:100) [5] ? 10
HSD50 Array Controller Service Manual
1–28 Troubleshooting
16. The system displays a list of all single-disk units (by unit number) that you can choose for DILX testing. Select the first disk that you want to test. Do not include the letter “D” in the unit number.
Enter unit number to be tested? 350
17. DILX indicates whether it has been able to allocate the disk. If you enabled the read/write test, DILX gives you a final warning that the data on the disk will be destroyed.
Unit 350 will be write enabled.
Do you still wish to add this unit (y/n) [n] ? y
18. If you want to test more disks, enter the unit numbers when prompted.
Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
DILX testing started at <date> <time>
Test will run for <nn> minutes
19. DILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running DILX through VCS).
– Type ^C to terminate the current DILX test.
– Type ^Y to terminate the current test and exit DILX.
Running an advanced disk test
This section provides instructions on how to run an advanced DILX test in which you define the commands that make up the test (read, write, access, and so on). Only select this test if you are very knowledgeable about disk testing. You should use the basic function test in almost all situations.
1. Start DILX from the CLI prompt.
2. Skip the auto-configure option to get to the user-defined test.
Do you wish to perform an Auto-configure (y/n) ?
n
3. Do not accept the default settings.
Use all defaults and run in read only mode
(y/n)? n
Service Manual HSD50 Array Controller
Troubleshooting 1–29
4. Enter the amount of time that you want the test to run. A single complete pass takes 10 minutes (after the initial write pass).
Enter execution time limit in minutes (1:65535)
[60] ? 25
5. If you want to see performance summaries while DILX is running, specify how often DILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [60] ? 5
6. The normal DILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many read and write operations were performed during the test.
Include performance statistics in performance summary (y/n) [n] y
7. DILX asks if you want hard and soft errors (sense data and deferred errors) displayed. If you do, answer y and respond to the rest of the questions. If you don’t want to see the errors displayed, answer n and proceed to the next step.
Display hard/soft errors? y
Display hex dump of Error Information Packet
Requester Specific information (y/n) [n] ? y
When the hard error limit is reached, the unit will be dropped from testing. Enter hard error limit (1:65535) [65535] ? 100
When the soft error limit is reached, soft errors will no longer be displayed but testing will continue for the unit. Enter soft error limit (1:65535) [32] ? 32
8. Set the maximum number of outstanding I/Os for each unit.
Set the I/O queue depth (1:12) [4] ? 9
9. Run the user-defined test.
*** Available tests are:
1. Basic Function
2. User Defined
Use the Basic Function test 99.9% of the time.
The User Defined test is for special problems only.
Enter test number (1:2) [1] ? 2
HSD50 Array Controller Service Manual
1–30
Service Manual
Troubleshooting
____________________ Caution ____________________
If you define write or erase commands, user data will be destroyed.
________________________________________________
10. Define the test sequence by entering command number 1 and its associated parameters. You may define up to 20 commands, and they will be executed in the order in which you enter them.
Enter command number 1 (read, write, access, erase, quit) [] ? read
Enter starting lbn for this command ? 0
Enter the IO size in 512 byte blocks for this command (1:128) [] ? 20
Enter in HEX, the MSCP Command Modifiers[0] ? 0
11. Repeat step 0 until you have defined the entire command sequence (up to 20). When you have finished entering commands, type quit.
12. The system displays a list of all single-disk units (by unit number) that you can choose for DILX testing. Select the first disk that you want to test. Do not include the letter “D” in the unit number.
Enter unit number to be tested? 350
13. DILX indicates whether it has been able to allocate the disk. If you enabled the read/write test, DILX gives you a final warning that the data on the disk will be destroyed.
Unit 350 will be write enabled.
Do you still wish to add this unit (y/n) [n] ? y
14. If you want to test more disks, enter the unit numbers when prompted.
Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
DILX testing started at <date> <time>
Test will run for <nn> minutes
15. DILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running DILX through VCS).
– Type ^C to terminate the current DILX test.
– Type ^Y to terminate the current test and exit DILX.
HSD50 Array Controller
Troubleshooting 1–31
DILX error codes
If DILX detects an error, the performance display for the unit includes:
– the controller instance code (IC)
– the device PTL location (PTL)
– the SCSI sense key (Key)
– the ASC and ASCQ codes (ASC/Q)
– the number of hard and soft errors (HC/SC)
In addition, you will see the message
DILX detected error, code x.
where x is 1, 2, 3, or 4. The meanings of the codes are:
Message:
Code 1: Illegal Data Pattern Number found in data pattern header. Unit x
Explanation:
DILX read data from the disk and found that the data was not in a pattern that DILX previously wrote to the disk.
Message:
Code 2: No write buffers correspond to data pattern Unit x.
Explanation:
DILX read a legal data pattern from the disk at a place where DILX wrote to the disk, but DILX does not have any write buffers that correspond to the data pattern. Thus, the data has been corrupted.
Message:
Code 3: Read data do not match what DILX thought was written to the media. Unit x.
Explanation:
DILX writes data to the disk and then reads it and compares it against what was written to the disk. This indicates a compare failure. More information is displayed to indicate where in the data buffer the compare operation failed and what the data was and should have been.
HSD50 Array Controller Service Manual
1–32 Troubleshooting
Message:
Code 4: Compare Host Data should have reported a compare error but did not. Unit x
Explanation:
A compare host data compare was issued in a way that DILX expected to receive a compare error but no error was received.
DILX data patterns
Table 1–3 defines the data patterns used with the DILX Basic Function or
User-Defined tests. There are 18 unique data patterns. These data patterns were selected as worst case, or the ones most likely to produce errors on disks connected to the controller.
Table 1–3 DILX data patterns
2
3
Pattern Number
1
4
5, shifting 1s
6, shifting 0s
7, alternating 1s, 0s
8
9
10
11
12
13, ripple 1
14, ripple 0
Pattern in Hexadecimal Numbers
0000
8B8B
3333
3091
0001, 0003, 0007, 000F, 001F, 003F, 007F, 00FF, 01FF,
03FF, 07FF, 0FFF, 1FFF, 3FFF, 7FFF
FIE, FFFC, FFFC, FFFC, FFE0, FFE0, FFE0, FFE0,
FE00, FC00, F800, F000, F000, C000, 8000, 0000
0000, 0000, 0000, FFFF, FFFF, FFFF, 0000, 0000,
FFFF, FFFF, 0000, FFFF, 0000, FFFF, 0000, FFFF
B6D9
5555, 5555, 5555, AAAA, AAAA, AAAA, 5555, 5555,
AAAA, AAAA, 5555, AAAA, 5555, AAAA, 5555,
AAAA, 5555
DB6C
2D2D, 2D2D, 2D2D, D2D2, D2D2, D2D2, 2D2D,
2D2D, D2D2, D2D2, 2D2D, D2D2, 2D2D, D2D2,
2D2D, D2D2
6DB6
0001, 0002, 0004, 0008, 0010, 0020, 0040, 0080, 0100,
0200, 0400, 0800, 1000, 2000, 4000, 8000
FIE, FFFD, FFFB, FFF7, FFEF, FFDF, FFBF, FF7F,
FEFF, FDFF, FBFF, F7FF, EFFF, BFFF, DFFF, 7FFF
Service Manual HSD50 Array Controller
Troubleshooting 1–33
Pattern Number
15
16
17
Pattern in Hexadecimal Numbers
DB6D, B6DB, 6DB6, DB6D, B6DB, 6DB6, DB6D,
B6DB, 6DB6, DB6D, B6DB, 6DB6, DB6D
3333, 3333, 3333, 1999, 9999, 9999, B6D9, B6D9,
B6D9, B6D9, FFFF, FFFF, 0000, 0000, DB6C, DB6C
9999, 1999, 699C, E99C, 9921, 9921, 1921, 699C,
699C, 0747, 0747, 0747, 699C, E99C, 9999, 9999
18 FFFF
Default — Use all of the above patterns in a random method
Testing tapes (TILX)
HSD50-series controllers have a Tape In-line Exerciser (TILX) that you can use to test suspect tape drives. When you run TILX, you can specify many parameters for the test, such as the I/O queue depth, the duration of the test, and whether the test should be read-only or read/write.
_____________________ Note ______________________
TILX places a heavy load on the controllers. To avoid the possibility that data may be lost, you should stop normal I/O operations before running TILX, or run TILX during periods of low activity.
________________________________________________
TILX can test several tape drives at the same time. Each tape drive that you want to test must be configured as a unit, but it must be dismounted from the host.
There are four tests that you can run with TILX: a quick tape test, a basic function test, a read-only test, and a user-defined test.
Running a quick tape test
This section provides instructions on how to run a quick TILX test on one or more tape drives. This is a 10-minute read-only test that uses the default
TILX settings.
1. Start TILX from the CLI prompt.
2. Use the default settings.
Use all defaults (y/n) [y]? y
HSD50 Array Controller Service Manual
1–34 Troubleshooting
3. The system displays a list of all tape drive units (by unit number) that you can choose for TILX testing. Select the first tape drive that you want to test. Do not include the letter “T” in the unit number.
Enter unit number to be tested? 350
4. Check to be sure that a tape is loaded in the drive, then answer yes to the next question.
Is a tape loaded and ready, answer Yes when ready?Y
5. TILX indicates whether it has been able to allocate the tape drive. If you want to test more tape drives, enter the unit numbers when prompted. Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
TILX testing started at <date> <time>
Test will run for 10 minutes
6. TILX will run for 10 minutes and then display the results of the testing.
If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running TILX through VCS).
– Type ^C to terminate the current TILX test.
– Type ^Y to terminate the current test and exit TILX.
Running a tape drive basic function test
____________________ Caution ____________________
The basic function test performs write operations. Make sure that the tapes that you use do not contain customer data.
________________________________________________
This section provides instructions on how to run a TILX basic function test on one or more tape drives. The test performs a repeating cycle of a write pass followed by a read pass. The write pass executes in two phases:
•
Data intensive — The first one third of the specified number of records are written as 16 kilobyte records. With this high byte count and the default queue depth, this phase should test the streaming capability (if supported) of the tape unit.
Service Manual HSD50 Array Controller
Troubleshooting 1–35
•
Random — The remaining two thirds of the records are written with random byte counts. The command sequence is write, reposition back
one record, read, and is repeated three times. Tape mark writing is intermixed in the test.
The read pass consists of three phases:
•
Data intensive — Read operations of fixed record sizes with a byte count equal to the expected tape record size. Forward position commands are issued when tape marks are encountered.
•
Random — Begins at the point where random-sized records were written to the tape. Most read operations are issued with a byte count equal to the expected tape record byte count. Occasionally, read operations are intemixed with a byte count less than or greater than the expected tape record byte count. Forward position commands are issued when tape marks are encountered.
•
Position Intensive — Begins halfway down from the start of the area where random-sized records are located. Read operations and position commads are intermixed so that the test gradually proceeds toware the
EOT. Forward position commands are issued when tape marks are encountered.
In all phases, if the EOT is detected, the tape is rewound to the beginning of tape (BOT) and the write pass starts again.
To run a basic function test:
1. Start TILX from the CLI prompt.
2. Do not accept the default settings.
Use all defaults (y/n)? n
3. Enter the amount of time that you want the test to run.
Enter execution time limit in minutes (10:65535)
[10] ? 25
4. If you want to see performance summaries while TILX is running, specify how often TILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [10] ? 5
HSD50 Array Controller Service Manual
1–36
Service Manual
Troubleshooting
5. The normal TILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many operations were performed and how much data was transferred during the test.
Include performance statistics in performance summary (y/n) [n] y
6. TILX asks if you want hard and soft errors (sense data and deferred errors) displayed. If you do, answer y and respond to the rest of the questions. If you don’t want to see the errors displayed, answer n and proceed to the next step.
Display hard/soft errors? y
Display hex dump of Error Information Packet
Requester Specific information (y/n) [n] ? y
When the hard error limit is reached, the unit will be dropped from testing. Enter hard error limit (1:65535) [32] ? 100
When the soft error limit is reached, soft errors will no longer be displayed but testing will continue for the unit. Enter soft error limit (1:65535) [32] ? 32
7. Set the maximum number of outstanding I/Os for each unit.
Set the I/O queue depth (1:12) [4] ? 6
Suppress caching (y,n) [n] ? n
9. Run the basic function test.
*** Available tests are:
1. Basic Function
2. User Defined
3. Read Only
Use the Basic Function test 99.9% of the time.
The User Defined test is for special problems only.
Enter test number (1:3) [1] ? 1
10. Specify the data pattern to be used for the writes. Unless you have some specific requirement, select 0 to use all patterns. See Table 1–3 for a listing of available patterns.
Enter data pattern number 0=ALL,
19=USER_DEFINED, (0:19) [0] ? 0
HSD50 Array Controller
Troubleshooting 1–37
11. Set the number of records to be written/read during the test.
Enter record count (1:4294967295) [4096] ? 1000
12. If you want to test data integrity, set the percentage of read and write commands that will have a data compare operation performed.
Perform data compare (y/n) [n] ? y
Enter compare percentage (1:100) [2] ? 1
13. The system displays a list of all tape drive units (by unit number) that you can choose for TILX testing. Select the first tape drive that you want to test. Do not include the letter “T” in the unit number.
Enter unit number to be tested? 350
14. Check to be sure that a tape is loaded in the drive, then answer yes to the next question.
Is a tape loaded and ready, answer Yes when ready?Y
15. TILX indicates whether it has been able to allocate the tape drive. If you want to test more tape drives, enter the unit numbers when prompted. Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
TILX testing started at <date> <time>
Test will run for <nn> minutes
16. TILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running TILX through VCS).
– Type ^C to terminate the current TILX test.
– Type ^Y to terminate the current test and exit TILX.
Running a tape drive read-only test
This section provides instructions on how to run a TILX read-only test on one or more tape drives. The test only verifies that a tape is readable. The test performs an initial read pass until it reaches the EOT or the selected number of records. It then rewinds the tape and starts another read pass. The test ignores tape marks. Since the test will most likely perform read operations with incorrect record sizes, it ignores record size mismatches.
The test records all other errors.
HSD50 Array Controller Service Manual
1–38
Service Manual
Troubleshooting
To run a read-only TILX test:
1. Start TILX from the CLI prompt.
2. Do not accept the default settings.
Use all defaults (y/n)? n
3. Enter the amount of time that you want the test to run.
Enter execution time limit in minutes (10:65535)
[10] ? 25
4. If you want to see performance summaries while TILX is running, specify how often TILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [10] ? 5
5. The normal TILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many operations were performed and how much data was transferred during the test.
Include performance statistics in performance summary (y/n) [n] y
6. TILX asks if you want hard and soft errors (sense data and deferred errors) displayed. If you do, answer y and respond to the rest of the questions. If you don’t want to see the errors displayed, answer n and proceed to the next step.
Display hard/soft errors? y
Display hex dump of Error Information Packet
Requester Specific information (y/n) [n] ? y
When the hard error limit is reached, the unit will be dropped from testing. Enter hard error limit (1:65535) [32] ? 100
When the soft error limit is reached, soft errors will no longer be displayed but testing will continue for the unit. Enter soft error limit (1:65535) [32] ? 32
7. Set the maximum number of outstanding I/Os for each unit.
Set the I/O queue depth (1:12) [4] ? 6
Suppress caching (y,n) [n] ? n
HSD50 Array Controller
Troubleshooting 1–39
HSD50 Array Controller
9. Run the read-only test.
*** Available tests are:
1. Basic Function
2. User Defined
3. Read Only
Use the Basic Function test 99.9% of the time.
The User Defined test is for special problems only.
Enter test number (1:3) [1] ? 3
10. Set the number of records to be written/read during the test.
Enter record count (1:4294967295) [4096] ? 1000
11. If you want to test data integrity, set the percentage of read and write commands that will have a data compare operation performed.
Perform data compare (y/n) [n] ? y
Enter compare percentage (1:100) [2] ? 1
12. The system displays a list of all tape drive units (by unit number) that you can choose for TILX testing. Select the first tape drive that you want to test. Do not include the letter “T” in the unit number.
Enter unit number to be tested? 350
13. Check to be sure that a tape is loaded in the drive, then answer yes to the next question.
Is a tape loaded and ready, answer Yes when ready?Y
14. TILX indicates whether it has been able to allocate the tape drive. If you want to test more tape drives, enter the unit numbers when prompted. Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
TILX testing started at <date> <time>
Test will run for <nn> minutes
15. TILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running TILX through VCS).
– Type ^C to terminate the current TILX test.
– Type ^Y to terminate the current test and exit TILX.
Service Manual
1–40 Troubleshooting
Running an advanced tape drive test
This section provides instructions on how to run an advanced TILX test in which you define the commands that make up the test (read, write, reposition, and so on). Only select this test if you are very knowledgeable about tape drive testing. You should use the basic function test in almost all situations.
1. Start TILX from the CLI prompt.
Service Manual
2. Do not accept the default settings.
Use all defaults and run in read only mode
(y/n)? n
3. Enter the amount of time that you want the test to run.
Enter execution time limit in minutes (10:65535)
[10] ? 25
4. If you want to see performance summaries while TILX is running, specify how often TILX should display the summaries.
Enter performance summary interval in minutes
(1:65535) [10] ? 5
5. The normal TILX summary simply indicates whether it detected any errors on each unit. Additionally, you can choose to see statistics on how many operations were performed and how much data was transferred during the test.
Include performance statistics in performance summary (y/n) [n] y
6. TILX asks if you want hard and soft errors (sense data and deferred errors) displayed. If you do, answer y and respond to the rest of the questions. If you don’t want to see the errors displayed, answer n and proceed to the next step.
Display hard/soft errors? y
Display hex dump of Error Information Packet
Requester Specific information (y/n) [n] ? y
When the hard error limit is reached, the unit will be dropped from testing. Enter hard error limit (1:65535) [32] ? 100
When the soft error limit is reached, soft errors will no longer be displayed but testing will continue for the unit. Enter soft error limit (1:65535) [32] ? 32
HSD50 Array Controller
Troubleshooting 1–41
7. Set the maximum number of outstanding I/Os for each unit.
Set the I/O queue depth (1:12) [4] ? 6
Suppress caching (y,n) [n] ? n
9. Run the basic function test.
*** Available tests are:
1. Basic Function
2. User Defined
3. Read Only
Use the Basic Function test 99.9% of the time.
The User Defined test is for special problems only.
Enter test number (1:3) [1] ? 2
10. Define the test sequence by entering command number 1 and its associated parameters. You may define up to 20 commands, and they will be executed in the order in which you enter them.
If you define write or erase commands, user data will be destroyed.
Enter command number 1 (read, write, access, erase, quit) [] ? read
Enter starting lbn for this command ? 0
Enter the IO size in 512 byte blocks for this command (1:128) [] ? 20
Enter in HEX, the MSCP Command Modifiers[0] ? 0
11. Repeat step 0 until you have defined the entire command sequence (up to 20). When you have finished entering commands, type quit.
12. The system displays a list of all single-tape drive units (by unit number) that you can choose for TILX testing. Select the first tape drive that you want to test. Do not include the letter “D” in the unit number.
Enter unit number to be tested? 350
13. TILX indicates whether it has been able to allocate the tape drive. If you enabled the read/write test, TILX gives you a final warning that the data on the tape drive will be destroyed.
Unit 350 will be write enabled.
Do you still wish to add this unit (y/n) [n] ? y
HSD50 Array Controller Service Manual
1–42 Troubleshooting
14. If you want to test more tape drives, enter the unit numbers when prompted. Otherwise, enter n to start the test.
Select another unit (y/n) [n] n
TILX testing started at <date> <time>
Test will run for <nn> minutes
15. TILX will run for the amount of time that you selected and then display the results of the testing. If you want to interrupt the test early:
– Type ^G (Control G) to get a performance summary without stopping the test (^T if you are running TILX through VCS).
– Type ^C to terminate the current TILX test.
– Type ^Y to terminate the current test and exit TILX.
TILX error codes
If TILX detects an error, the performance display for the unit includes:
– the controller instance code (IC)
– the device PTL location (PTL)
– the SCSI sense key (Key)
– the ASC and ASCQ codes (ASC/Q)
– the number of hard and soft errors (HC/SC)
In addition, you will see one of the following error code messages:
Message:
TILX detected error, code 1:
Illegal Data Pattern Number found in data pattern header. Unit x
Explanation:
TILX read data from the tape and found that the data was not in a pattern that TILX previously wrote to the tape.
Service Manual HSD50 Array Controller
Troubleshooting 1–43
HSD50 Array Controller
Message:
TILX detected error, code 2:
No write buffers correspond to data pattern Unit x.
Explanation:
TILX read a legal data pattern from the tape at a place where TILX wrote to the tape, but TILX does not have any write buffers that correspond to the data pattern. Thus, the data has been corrupted.
Message:
TILX detected error, code 3:
Read data do not match write buffer. Unit x.
Explanation:
TILX writes data to the tape and then reads it and compares it against what was written. This indicates a compare failure. More information is displayed to indicate where in the data buffer the compare operation failed and what the data was and should have been.
Message:
TILX detected error, code 4:
TILX/TAPE record size mismatch. Unit x
Explanation:
The size of the record that TILX read from the tape did not match the size of the record that was written on the previous write pass.
Message:
TILX detected error, code 5:
A tape mark was detected in a place where it was not expected. Unit x
Explanation:
TILX encountered a tape mark where it was not expected. The tape drive may not be able to accurately position the tape.
Message:
TILX detected error, code 7:
EOT encountered in unexpected position. Unit x
Explanation:
The tape reached EOT before TILX expected it. The tape drive may not be able to accurately position the tape.
Service Manual
1–44 Troubleshooting
TILX data patterns
Table 1–4 defines the data patterns used with the TILX Basic Function or
User-Defined tests. There are 18 unique data patterns. These data patterns were selected as worst case, or the ones most likely to produce errors on tape drives connected to the controller.
Table 1–4 TILX data patterns
Pattern Number
1
2
3
4
5, shifting 1s
6, shifting 0s
7, alternating 1s, 0s
Pattern in Hexadecimal Numbers
0000
8B8B
3333
3091
0001, 0003, 0007, 000F, 001F, 003F, 007F, 00FF,
01FF, 03FF, 07FF, 0FFF, 1FFF, 3FFF, 7FFF
FIE, FFFC, FFFC, FFFC, FFE0, FFE0, FFE0, FFE0,
FE00, FC00, F800, F000, F000, C000, 8000, 0000
0000, 0000, 0000, FFFF, FFFF, FFFF, 0000, 0000,
FFFF, FFFF, 0000, FFFF, 0000, FFFF, 0000, FFFF
B6D9 8
9
10
11
12
13, ripple 1
5555, 5555, 5555, AAAA, AAAA, AAAA, 5555,
5555, AAAA, AAAA, 5555, AAAA, 5555, AAAA,
5555, AAAA, 5555
DB6C
2D2D, 2D2D, 2D2D, D2D2, D2D2, D2D2, 2D2D,
2D2D, D2D2, D2D2, 2D2D, D2D2, 2D2D, D2D2,
2D2D, D2D2
6DB6
0001, 0002, 0004, 0008, 0010, 0020, 0040, 0080,
0100, 0200, 0400, 0800, 1000, 2000, 4000, 8000
14, ripple 0
15
16
17
FIE, FFFD, FFFB, FFF7, FFEF, FFDF, FFBF, FF7F,
FEFF, FDFF, FBFF, F7FF, EFFF, BFFF, DFFF, 7FFF
DB6D, B6DB, 6DB6, DB6D, B6DB, 6DB6, DB6D,
B6DB, 6DB6, DB6D, B6DB, 6DB6, DB6D
3333, 3333, 3333, 1999, 9999, 9999, B6D9, B6D9,
B6D9, B6D9, FFFF, FFFF, 0000, 0000, DB6C, DB6C
9999, 1999, 699C, E99C, 9921, 9921, 1921, 699C,
699C, 0747, 0747, 0747, 699C, E99C, 9999, 9999
18 FFFF
Default — Use all of the above patterns in a random method
Service Manual HSD50 Array Controller
Troubleshooting 1–45
Monitoring system performance with the VTDPY utility
The VTDPY utility gathers and displays system state and performance information for the HS family of modular storage controllers. The information displayed includes processor utilization, host port activity and status, device state, logical unit state, and cache and I/O performance.
The VTDPY utility requires a video terminal that supports ANSI control sequences, such as a VT220, VT320, or VT420 terminal. A graphics display that provides emulation of an ANSI compatible video terminal can also be used. For DIGITAL storage system interconnect (DSSI) and CI based HS controllers, VTDPY can be run on terminals either directly connected to the
HS controller or on terminals connected through a host-based diagnostic and utility protocol (DUP) connection. For SCSI based HS controllers, VTDPY can be run only on terminals connected to the HS controller maintenance terminal port. Note that VCS can be used only from a terminal attached to the terminal port on the front bezel of the HS array controller.
The following sections show how to use the VTDPY utility.
How to Run VTDPY
You can run only one VTDPY session on each controller at one time. Prior to running VTDPY, set the terminal to NOWRAP mode to prevent the top line of the display from scrolling off of the screen.
To initiate VTDPY from a maintenance terminal at the CLI> prompt, enter the following command:
HSD50> RUN VTDPY
To initiate VTDPY from a virtual terminal use the following command.
(This command applies only to HSD or HSD controllers from VMS.)
$ SET HOST/DUP/SERVER=MSCP$DUP<controller_name>
/TASK=VTDPY
HSD50 Array Controller Service Manual
1–46 Troubleshooting
Using the VTDPY Control Keys
Use the control key sequences shown in Table 1–5 with the VTDPY display.
Table 1–5 VTDPY control keys
Control Key Sequence
Ctrl/C
Ctrl/G
Ctrl/O
Ctrl/R
Ctrl/W
Ctrl/Y
Ctrl/Z
Function
Prompts for commands.
Updates the screen (same as Ctrl/Z).
Pauses or resumes screen updates.
Refreshes current screen display (same as
Ctrl/W).
Refreshes current screen display (same as
Ctrl/R).
Terminates VTDPY and resets screen characteristics.
Updates the screen (same as Ctrl/G).
While VTDPY and a maintenance terminal interface support passing all of the listed control characters, some host-based terminal interfaces restrict passing some of the characters. All of the listed characters have equivalent text string commands, defined in Table 1–6.
Using the VTDPY Command Line
VTDPY contains a command line interpreter that you can invoke by entering Ctrl/C any time after starting the program. The command line interpreter is used to modify the characteristics of the VTDPY display.
Table 1–6 lists the VTDPY commands.
Table 1–6 VTDPY commands
Command String
DISPLAY CACHE
DISPLAY DEFAULT
DISPLAY DEVICE
DISPLAY STATUS
EXIT
Function
Use 132 column unit caching statistics display.
Use default 132 column system performance display.
Use 132 column device performance display.
Use 80 column controller status display.
Terminates program (same as QUIT).
Service Manual HSD50 Array Controller
Troubleshooting 1–47
Command String
INTERVAL <seconds>
HELP
REFRESH
QUIT
UPDATE
Function
Changes update interval.
Displays help message text.
Refreshes the current display.
Terminates program (same as EXIT).
Updates screen display.
The keywords in the command strings can be abbreviated to the minimum number of characters that are necessary to uniquely identify the keyword.
Entering a question mark (?) after a keyword causes the parser to provide a list of keywords or values that can follow the supplied keyword. The command line interpreter is not case sensitive, so keywords can be entered in uppercase, lowercase, or mixed case.
Upon successful execution of a command other than HELP, the command line interpreter is exited and the display is resumed. Entering a carriage return without a command also exits the command line interpreter and resumes the display. If an error occurs in the command, the user prompts for command expansion help, or the HELP command is entered, the command line interpreter prompts for an additional command instead of returning to the display.
How to Interpret the VTDPY Display Fields
This section contains descriptions of the major fields in the VTDPY displays.
The display and subdisplay you see depend on the type of controller: CI and
DSSI-based controllers or SCSI and HS-based controllers. Characteristics for each are included in the field description sections that follow.
CI/DSSI Host Port Characteristics
Node HSD501 n
Port 13 o
SysId 4200100D0720 p
Description
This subdisplay shows the current host port identification information. This subdisplay is available only for CI or DSSI based controllers.
n SCS node name o Port number p SCS system ID
HSD50 Array Controller Service Manual
1–48 Troubleshooting
SCSI Host Port Characteristics
Xfer Rate
T n
W o
I p
Mhz q
1 W 7 3.57
2 W Async r
Description
This subdisplay shows the current host port SCSI target identification, any initiator which has negotiated synchronous transfers, and the negotiated transfer method currently in use between the controller and the initiators.
This subdisplay is available only for SCSI based HS controllers.
n SCSI host port target ID.
o Transfer width. W indicates 16 bit or wide transfers are being used. A space indicates 8 bit transfers are being used.
p The initiator with which synchronous communication has been negotiated.
q A numeric value indicates the synchronous data rate which has been negotiated with the initiator at the specified SCSI ID. The value is listed in megahertz (Mhz). In this example, the negotiated synchronous transfer rate is approximately 3.57 Mhz. To convert this number to the nanosecond period, invert and multiply by 1000. The period for this is approximately 280 nanoseconds.If the field is still Async, this might indicate a failure to establish communication between host adapter and
HSD. The problem could be one of the following:
– SCSI bus configuration
Service Manual
– HSD r Async indicates communication between this target and all initiators is being done in asynchronous mode. This is the default communication mode and is used unless the initiator successfully negotiates for synchronous communications. If there is no communication with a given target ID, the communication mode is listed as asynchronous.
HSD50 Array Controller
Troubleshooting 1–49
CI Performance Display
Path A Pkts Pkts/S
RCV 5710 519 n
ACK 11805 1073 o
NAK 2073 188 p
NOR 1072 97 q
Path B Pkts Pkts/S
RCV 5869 533
ACK 11318 1028
NAK 2164 196
NOR 445 40
Description
This display indicates the number of packets sent and received over each CI path and the packet rate. This display is available only on CI based controllers.
n Packets received from a remote node o Packets sent to a remote node that were ACKed p Packets sent to a remote node that were NAKed q Packets sent to a remote node for which no response was received
DSSI Performance Display
DSSI Pkts Pkts/S
RCV 5710 519 n
ACK 11805 1073 o
NAK 2073 188 p
NOR 1072 97 q
Description
This display indicates the number of packets sent and received through the
DSSI port and the packet rate. This display is available only on DSSI based controllers.
n Packets received from a remote node o Packets sent to a remote node that were ACKed p Packets sent to a remote node that were NAKed q Packets sent to a remote node for which no response was received
HSD50 Array Controller Service Manual
1–50 Troubleshooting
CI/DSSI Connection Status
Connections
0123456789 n
0........MM o
1..C.MV....
2..........
3..
Description
This display shows the current status of any connections to a remote CI or
DSSI node. This display is available only on CI and DSSI based controllers.
n Each position in the data field represents one of the possible nodes to which the controller can communicate. To locate the connection status for a given node, use the column on the left to determine the high order digit of the node number, and use the second row to determine the low order digit of the node number. For CI controllers, the number of nodes displayed is determined by the controllers MAX NODE parameter. The maximum supported value for this parameter is 32. For DSSI controllers, the number of nodes is fixed at 8.
o Each location in the grid contains a character to indicate the connection status:
– C indicates one connection to that node. In this example, node 12 shows one connection. This usually happens if a host has multiple adapters and it is using more than one adapter for load balancing.
– M indicates multiple connections to that node. Because each host system can make a separate connection to each of the disk, tape, and DUP servers, this field frequently shows multiple connections to a host system. In this example, nodes 8, 9, and 14 show multiple connections.
– V indicates that only a virtual circuit is open and no connection is present. This happens prior to establishing a connection. It also happens when there is another controller on the same network and when there are systems with multiple adapters connected to the same network. Node 15 demonstrates this principle.
Service Manual HSD50 Array Controller
Troubleshooting 1–51
– If a period (.) is in a position corresponding to a node, that node does not have any virtual circuits or connections to this controller.
– A space indicates the address is beyond the visible node range for this controller.
CI/DSSI Host Path Status
Path Status
0123456789 n
0........^^ o
1..A.B^....
2.......X..
3..
Description
This display indicates the path status to any system for which a virtual circuit exists. This display is available only on CI and DSSI based controllers.
n Each position in the data field represents one of the possible nodes to which the controller can communicate. To locate the path status for a given node, use the column on the left to determine the high order digit of the node number, and use the second row to determine the low order digit of the node number. For CI controllers, the number of nodes displayed is determined by the controllers MAX NODE parameter. The maximum supported value for this parameter is 32. For DSSI controllers, the number of nodes is fixed at 8.
o Each location in the grid contains a character to indicate the path status:
– A indicates only CI path A is functioning properly. In this example, node 12 demonstrates this. This value is not displayed for DSSI based controllers.
– B indicates only CI path B is functioning properly. In this example, node 14 demonstrates this. This value is not displayed for DSSI based controllers.
– X indicates the CI cables are crossed. In this example, node 27 demonstrates this. This value is not displayed for DSSI based controllers.
HSD50 Array Controller Service Manual
1–52 Troubleshooting
– A circumflex (^) indicates the single DSSI path or both CI paths are functioning properly. In this example, nodes 8, 9, and 15 demonstrate this.
– If a period (.) is in a position corresponding to a node, that node does not have any virtual circuits or connections to this controller so either the path status cannot be determined, or neither path is functioning properly.
– A space indicates the address is beyond the visible node range for this controller.
Device SCSI Status
Target
01234567 n
P1 DDDDFhH o o2TTT T hH r3DDD hH t4DDDDDDhH
5DDDD hH
6 hH p
Description
This display shows what devices the controller has been able to identify on the device busses.
The controller does not look for devices that are not configured into the nonvolatile memory using the CLI ADD command.
n The column headings indicate the SCSI target numbers for the devices.
SCSI targets are in the range 0 through 7. Target 7 is always used by a controller. In a dual controller configuration, target 6 is used by the second controller.
o The device grid contains a letter signifying the device type in each port/target location where a device has been found:
– C indicates a CD–ROM device.
– D indicates a disk device.
– F indicates a device type not listed above.
– H indicates bus position of this controller.
Service Manual HSD50 Array Controller
Troubleshooting 1–53
– h indicates bus position of the other controller.
– L indicates a media loader.
– T indicates a tape device.
– A period (.) indicates the device type is unknown.
– A space indicates there is no device configured at this location.
p This subdisplay contains a row for each SCSI device port supported by the controller. The subdisplay for a controller that has six SCSI device ports is shown.
Unit Status (abbreviated)
Unit n
ASWC o
KB/S p
Rd% q
Wr% r
Cm% s
HT% t
D0110 a^ r 0 0 0 0 0
D0120 a^ r 0 0 0 0 0
D0130 o^ r 236 100 0 0 100
T0220 av 0 0 0 0 0
T0230 o^ 123 0 100 0 0
Description
This subdisplay shows the status of the logical units that are known to the controller firmware. It also indicates performance information for the units.
Up to 42 units can be displayed in this subdisplay.
n The Unit column contains a letter indicating the type of unit followed by the unit number of the logical unit. The list is sorted by unit number.
There may be duplication of unit numbers between devices of different types. If this happens, the order of these devices is arbitrary. The following device type letters may appear:
– D indicates a disk device.
– T indicates a tape device.
– L indicates a media loader.
– C indicates a CD–ROM device.
– F indicates a device type not listed above.
– U indicates the device type is unknown.
HSD50 Array Controller Service Manual
1–54
Service Manual
Troubleshooting o The ASWC columns indicate respectively the availability, spindle state, write protect state, and cache state of the logical unit.
For HSD controllers, on line in this column means that the unit is on line to the HSD controller only. It does not indicate that the unit is mounted by the host.
The availability state is indicated using the following letters:
– a — Available. Available to be mounted by a host system.
– d — Offline, Disabled by Digital Multivendor Customer Services.
The unit has been disabled for service.
– e — Online, Exclusive Access. Unit has been mounted for exclusive access by a user.
– f — Offline, Media Format Error. The unit cannot be brought available due to a media format inconsistency.
– i — Offline, Inoperative. The unit is inoperative and cannot be brought available by the controller.
– m — Offline, Maintenance. The unit has been placed in maintenance mode for diagnostic or other purposes.
– o — Online. Mounted by at least one of the host systems. For HSD controllers, on line in this column means that the unit is on line to the HSD controller only. It does not indicate that the unit is mounted by the host.
– r — Offline, Rundown. The CLI SET NORUN command has been issued for this unit.
– v — Offline, No Volume Mounted. The device does not contain media.
– x — Online to other controller. Not available for use by this controller.
– A space in this column indicates the availability is unknown.
HSD50 Array Controller
Troubleshooting 1–55
The spindle state is indicated using the following characters:
– ^ — For disks, this symbol indicates the device is at speed. For tapes, it indicates the tape is loaded.
– > — For disks, this symbol indicates the device is spinning up. For tapes, it indicates the tape is loading.
– < — For disks, this symbol indicates the device is spinning down.
For tapes, it indicates the tape is unloading.
– v — For disks, this symbol indicates the device is stopped. For tapes, it indicates the tape is unloaded.
– For other types of devices, this column is left blank.
For disks and tapes, a w in the write protect column indicates the unit is write protected. This column is left blank for other device types.
The data caching state is indicated using the following letters:
– b — Both Read caching and Write Back caching are enabled.
– r — Read caching is enabled.
– w — Write Back caching is enabled.
– A space in this column indicates caching is disabled.
p KB/S — This column indicates the average amount of kilobytes of data transferred to and from the unit in the previous screen update interval.
This data is available only for disk and tape units.
q Rd% — This column indicates what percentage of data transferred between the host and the unit were read from the unit. This data is contained only in the DEFAULT display for disk and tape device types.
r Wr% — This column indicates what percentage of data transferred between the host and the unit were written to the unit. This data is contained only in the DEFAULT display for disk and tape device types.
HSD50 Array Controller Service Manual
1–56 Troubleshooting s Cm% — This column indicates what percentage of data transferred between the host and the unit were compared. A compare operation can be accompanied by either a read or a write operation, so this column is not cumulative with read percentage and write percentage columns.
This data is contained only in the DEFAULT display for disk and tape device types.
t HT% — This column indicates the cache hit percentage for data transferred between the host and the unit.
Unit Status (full)
Unit n
ASWC o
KB/S p
Rd% q
Wr% r
Cm% s
HT% t
PH% u
MS% v
Purge w
BlChd
W
BlHit
X
D0003 o^ r 382 0 100 0 0 0 0 0 6880 0
D0250 o^ r 382 100 0 0 0 0 100 0 6880 0
D0251 o^ r 284 100 0 0 0 0 100 0 5120 0
D0262 a^ r 0 0 0 0 0 0 0 0 0 0
D0280 o^ r 497 44 55 0 0 0 100 0 9011 0
D0351 a^ r 0 0 0 0 0 0 0 0 0 0
D0911 a^ r 0 0 0 0 0 0 0 0 0 0
D1000 a^ r 0 0 0 0 0 0 0 0 0 0
Description
This subdisplay shows the status of the logical units that are known to the controller firmware. It also shows I/O performance information and caching statistics for the units. Up to 42 units can be displayed in this subdisplay.
n The Unit column contains a letter indicating the type of unit followed by the unit number of the logical unit. The list is sorted by unit number.
There may be duplication of unit numbers between devices of different types. If this happens, the order of these devices is arbitrary. The following device type letters may appear:
– D indicates a disk device.
– T indicates a tape device.
– L indicates a media loader.
– C indicates a CD–ROM device.
– F indicates a device type not listed above.
– U indicates the device type is unknown.
Service Manual HSD50 Array Controller
Troubleshooting 1–57 o The ASWC columns indicate the availability, spindle state, write protect state, and cache state respectively of the logical unit..
For HSD controllers, on line in this column means that the unit is on line to the HSD controller only. It does not indicate that the unit is mounted by the host.
The availability state is indicated using the following letters:
– a — Available. Available to be mounted by a host system.
– d — Offline, Disabled by Digital Multivendor Customer Services.
The unit has been disabled for service.
– e — Online, Exclusive Access. Unit has been mounted for exclusive access by a user.
– f — Offline, Media Format Error. The unit cannot be brought available due to a media format inconsistency.
– i — Offline, Inoperative. The unit is inoperative and cannot be brought available by the controller.
– m — Offline, Maintenance. The unit has been placed in maintenance mode for diagnostic or other purposes.
– o — Online. Mounted by at least one of the host systems. For
HSD controllers, on line in this column means that the unit is on line to the HSD controller only. It does not indicate that the unit is mounted by the host.
– r — Offline, Rundown. The CLI SET NORUN command has been issued for this unit.
– v — Offline, No Volume Mounted. The device does not contain media.
– x — Online to other controller. Not available for use by this controller.
– A space in this column indicates the availability is unknown.
HSD50 Array Controller Service Manual
1–58
Service Manual
Troubleshooting
The spindle state is indicated using the following characters:
– ^ — For disks, this symbol indicates the device is at speed. For tapes, it indicates the tape is loaded.
– > — For disks, this symbol indicates the device is spinning up. For tapes, it indicates the tape is loading.
– < — For disks, this symbol indicates the device is spinning down.
For tapes, it indicates the tape is unloading.
– v — For disks, this symbol indicates the device is stopped. For tapes, it indicates the tape is unloaded.
For other types of devices, this column is left blank.
For disks and tapes, a w in the write protect column indicates the unit is write protected. This column is left blank for other device types.
The data caching state is indicated using the following letters:
– b — Both Read caching and Write Back caching are enabled.
– r — Read caching is enabled.
– w — Write Back caching is enabled.
– A space in this column indicates caching is disabled.
p KB/S — This column indicates the average amount of kilobytes of data transferred to and from the unit in the previous screen update interval.
This data is only available for disk and tape units.
q Rd% — This column indicates what percentage of data transferred between the host and the unit were read from the unit. This data is only contained in the DEFAULT display for disk and tape device types.
r Wr% — This column indicates what percentage of data transferred between the host and the unit were written to the unit. This data is only contained in the DEFAULT display for disk and tape device types.
s Cm% — This column indicates what percentage of data transferred between the host and the unit were compared. A compare operation may be accompanied by either a read or a write operation, so this column is not cumulative with read percentage and write percentage columns. This data is only contained in the DEFAULT display for disk and tape device types.
HSD50 Array Controller
Troubleshooting 1–59 t HT% — This column indicates the cache hit percentage for data transferred between the host and the unit.
u PH% — This column indicates the partial cache hit percentage for data transferred between the host and the unit.
v MS% — This column indicates the cache miss percentage for data transferred between the host and the unit.
w Purge — This column shows the number of blocks purged from the write back cache in the last update interval.
W BlChd — This column shows the number of blocks added to the cache in the last update interval.
X BlHit — This column shows the number of cached data blocks “hit” in the last update interval.
Device Status
PTL n
ASWF o
Rq/S p
RdKB/S q
WrKB/S r
Que s
Tg t
CR u
BR v
TR w
D100 A^ 0 0 0 11 0 0 0 0
D120 A^ 0 0 0 0 0 0 0 0
D140 A^ 0 0 0 0 0 0 0 0
D210 A^ 11 93 0 1 1 0 0 0
D230 A^ 0 0 0 0 0 0 0 0
D300 A^ 11 93 0 2 1 0 0 0
D310 A^ 0 0 0 0 0 0 0 0
D320 A^ 36 247 0 12 10 0 0 0
D400 A^ 11 93 0 2 1 0 0 0
D410 A^ 0 0 0 0 0 0 0 0
D420 A^ 36 247 0 10 8 0 0 0
D430 A^ 0 0 0 0 0 0 0 0
D440 A^ 0 0 0 0 0 0 0 0
D450 A^ 0 0 0 0 0 0 0 0
D500 A^ 11 93 0 1 1 0 0 0
D510 A^ 0 0 0 0 0 0 0 0
D520 A^ 0 0 0 0 0 0 0 0
D530 A^ 47 0 375 6 5 0 0 0
HSD50 Array Controller Service Manual
1–60
Service Manual
Troubleshooting
Description
This subdisplay shows the status of the physical storage devices that are known to the controller firmware. It also shows I/O performance information and bus statistics for these devices. Up to 42 devices can be displayed in this subdisplay.
n The PTL column contains a letter indicating the type of device followed by the SCSI Port, Target, and LUN of the device. The list is sorted by port, target, and LUN. The following device type letters may appear:
– D indicates a disk device.
– T indicates a tape device.
– L indicates a media loader.
– C indicates a CD–ROM device.
– F indicates a device type not listed above.
– U indicates the device type is unknown.
o The ASWF columns indicate the allocation, spindle state, write protect state, and fault state respectively of the device.
The availability state is indicated using the following letters:
– A — Allocated to this controller.
– a — Allocated to the other controller.
– U — Unallocated, but owned by this controller.
– u — Unallocated, but owned by the other controller.
– A space in this column indicates the allocation is unknown.
The spindle state is indicated using the following characters:
– ^ — For disks, this symbol indicates the device is at speed. For tapes, it indicates the tape is loaded.
– > — For disks, this symbol indicates the device is spinning up. For tapes, it indicates the tape is loading.
HSD50 Array Controller
Troubleshooting 1–61
– < — For disks, this symbol indicates the device is spinning down.
For tapes, it indicates the tape is unloading.
– v — For disks, this symbol indicates the device is stopped. For tapes, it indicates the tape is unloaded.
– For other types of devices, this column is left blank.
For disks and tapes, a W in the write protect column indicates the device is hardware write protected. This column is left blank for other device types.
field is set, the device fault indicator also is illuminated.
p Rq/S — This column shows the average I/O request rate for the device during the last update interval. These requests are up to eight kilobytes long and are either generated by host requests or cache flush activity.
q RdKB/S — This column shows the average data transfer rate from the device in kilobytes during the previous screen update interval.
r WrKB/S — This column shows the average data transfer rate to the device in kilobytes during the previous screen update interval.
s Que — This column shows the maximum number of transfer requests waiting to be transferred to the device during the last screen update interval.
t Tg — This column shows the maximum number of transfer requests queued to the device during the last screen update interval. If a device does not support tagged queuing, the maximum value is 1.
u CR — This column indicates the number of SCSI command resets that occurred since VTDPY was started.
v BR — This column indicates the number of SCSI bus resets that occurred since VTDPY was started.
w TR — This column indicates the number of SCSI target resets that occurred since VTDPY was started.
HSD50 Array Controller Service Manual
1–62 Troubleshooting
Device SCSI Port Performance
Port n
Rq/S o
RdKB/S p
WrKB/S q
CR r
BR s
TR t
1 0 0 0 0 0 0
2 11 93 0 0 0 0
3 48 341 0 0 0 0
4 48 340 0 0 0 0
5 58 93 375 0 0 0
6 0 0 0 0 0 0
Description
This subdisplay shows the accumulated I/O performance values and bus statistics for the SCSI device ports. The subdisplay for a controller that has six SCSI device ports in shown.
n The Port column indicates the number of the SCSI device port.
o Rq/S — This column shows the average I/O request rate for the port during the last update interval. These requests are up to eight kilobytes long and are either generated by host requests or cache flush activity.
p RdKB/S — This column shows the average data transfer rate from all devices on the SCSI bus in kilobytes during the previous screen update interval.
q WrKB/S — This column shows the average data transfer rate to all devices on the SCSI bus in kilobytes during the previous screen update interval.
r CR — This column indicates the number of SCSI command resets that occurred since VTDPY was started.
s BR — This column indicates the number of SCSI bus resets that occurred since VTDPY was started.
t TR — This column indicates the number of SCSI target resets that occurred since VTDPY was started.
Service Manual HSD50 Array Controller
Troubleshooting 1–63
Help Example
VTDPY> HELP
Available VTDPY commands:
^C - Prompt for commands
^G or ^Z - Update screen
^O - Pause/Resume screen updates
^Y - Terminate program
^R or ^W - Refresh screen
DISPLAY CACHE - Use 132 column unit caching statistics display
DISPLAY DEFAULT - Use default 132 column system performance display
DISPLAY DEVICE - Use 132 column device performance display
DISPLAY STATUS - Use 80 column controller status display
EXIT - Terminate program (same as QUIT)
INTERVAL <seconds> - Change update interval
HELP - Display this help message
REFRESH - Refresh the current display
QUIT - Terminate program (same as EXIT)
UPDATE - Update screen display
VTDPY>
Description
This is the sample output from executing the HELP command
HSD50 Array Controller Service Manual
2
Replacing field-replaceable units
Controller and cache modules using C_Swap
Single controller and cache module
One dual-redundant controller and cache module
Both dual-redundant controllers and cache modules
Cache modules
SBB battery modules
Power supplies
Disk drives
Tape drives
Solid state disks, optical and CD-ROM drives
Host and device cables
2–2 Replacing field-replaceable units
Electrostatic discharge protection
The following sections describe necessary precautions for preventing component damage while servicing your HSD50 subsystem. Use the following guidelines when performing any of the replacement procedures.
Electrostatic discharge (ESD) can damage system components. Use the following guidelines when handling subsystem components.
Handling controllers or cache modules
After removing a controller or cache module from the shelf, place the module into an approved antistatic bag or onto a grounded antistatic mat.
When removing write-back cache modules, always disconnect the external cache battery cable from the external cache battery (ECB) module and the cache module.
•
If power is removed from the controller shelf or cabinet during a procedure, disable the ECB by pressing the battery disable switch, then disconnect the battery cable at the cache module.
•
If power is not to be removed during the procedure, disconnect the ECB cable starting at the cache module end and then the ECB. After the cable is removed, disable the ECB by pressing the battery disable switch.
Handling the program card
Use the following guidelines when handling the program card:
•
Cover the program card with the snap-on ESD cover when the card is installed in the controller.
•
Keep the program card in its original carrying case when not in use.
•
Do not twist or bend the program card.
•
Do not touch the program card contacts.
Handling controller host-port cables
Use the following guidelines when handling controller host-port cables:
•
When installing host port cables, use care not to touch the connector’s pins.
•
Use care not to bend any connector pins when plugging the host cables into the trilink connector adapter.
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–3
Replacing controllers and cache modules using C_Swap
_____________________ Note ______________________
Use this procedure when you cannot shut down the system and one controller is still functioning
________________________________________________
This section presents controller and controller component replacement procedures for HSD50 controllers. Also, replacement procedures for cache modules and write-back cache batteries are provided.
Controller and cache module warm-swap procedure
Use the warm-swap procedure to replace a controller that has failed and failover already has taken place. Also, use this procedure if you a suspect that a controller is not operating properly, (that is, one or more controller ports have failed). Use this procedure when you cannot shut down the system and only if the controller is in a dual-redundant configuration.
To replace a controller using the
C
_
SWAP method, a minimum of two power supplies are required in SW500 and SW800 cabinets. If you are performing the replacement procedure in an SW300 cabinet, a minimum of five power supplies are required.
Required tools
The tools listed in Table 2–1 are required to replace a controller and/or cache module.
Table 2–1 Required tools
Required tools
Maintenance terminal
Small flat head screwdriver
Purpose
To shut down controllers, restart controllers, execute CLI commands and invoke utilities.
To loosen captive screws on front bezels and host cables.
To protect all equipment against ESD ESD wrist strap and ESD mat
5/32-inch Allen wrench To unlock the SW800-series cabinet
HSD50 Array Controller Service Manual
2–4 Replacing field-replaceable units
____________________ Caution ____________________
Before invoking the
C
_
SWAP
utility, terminate all other running utilities and disable all other terminals.
________________________________________________
Preparing the subsystem
1. Terminate all running utilities and disable all other terminal.
2. Have the replacement modules at hand. The modules should be factoryfresh or should have been shut down cleanly (with the
SHUTDOWN command) in their last application.
3. Connect a maintenance terminal to the controller that you are not replacing. See Figure 2–1.
Figure 2–1 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
4. Prefer all units to the controller that you are not replacing.
HSD50> SET
unit-number PREFERRED_PATH=THIS_CONTROLLER
Repeat the command for each unit that is preferred to the controller that you are replacing.
5. Disable the DSSI paths by issuing the following CLI command:
HSD50> SET OTHER_CONTROLLER NOPATH
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–5
6. If the controller to be replaced is still functioning, use the
SHUTDOWN command to take it out of service. When using this command, do not specify any command switches.
HSD50> SHUTDOWN OTHER_CONTROLLER
When the controller halts, the green Reset (//) LED stops flashing and stays lit.
7. Take the operating controller out of dual-redundant (failover) mode:
HSD50> SET NOFAILOVER
8. With a small flat-head screwdriver, loosen the captive screws that secure the trilink connector to the controller. See Figure 2–2. Do not remove the connector yet.
Figure 2–2 Loosening the trilink connector
Host port connector with mating guide
Controller
HSD50 Array Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
9. Loosen the two captive retaining screws at each corner of the controller and cache module front bezel. Do not remove the module yet.
10. Obtain and place the ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
Service Manual
2–6 Replacing field-replaceable units
11. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
12. Unsnap and remove the program card ESD cover on the controller you are removing.
13. While pressing and holding the Reset (//) button, eject the program
(PCMCIA) card by pushing the eject button next to the card. See
Figure 2–3. Pull the card out and save it for use in the replacement controller module.
Figure 2–3 Removing the program card
1
1 2 3 4 5 6
ESD cover
Service Manual
2
1 2 3 4 5 6
PCMCIA card
Eject button
CXO-5302A-MC
HSD50 Array Controller
Replacing field-replaceable units
C
_
SWAP
program:
HSD50> RUN C_SWAP
Removing the modules
1. Indicate that you are going to remove the controller module.
Do you wish to remove the other HSD50 y/n [n] ?
3. Indicate if you are also going to remove the cache module.
_____________________ Note ______________________
If the cache module is not to be removed, the time allowed to remove the controller is 2 minutes.
________________________________________________
Will its cache module also be removed Y/N [n] ?
5. Wait for the following text to be displayed at the console:
Port 1 quiesced.
Port 2 quiesced.
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Remove the other controller (the one WITHOUT a blinking green LED) within 5 minutes.
Time remaining 4 minutes 50 seconds.
6. Remove the trilink connector from the controller.
2–7
HSD50 Array Controller Service Manual
2–8 Replacing field-replaceable units
____________________ Caution ____________________
To avoid the possibility of short circuit or electrical shock, always disable the ECB before disconnecting the ECB cable at either end.
________________________________________________
7. Disable the ECB by pressing the battery disable switch until the LED on the ECB stops flashing. Disconnect the ECB cable from the cache module. See Figure 2–4.
Figure 2–4 Disconnecting the ECB cable
Service Manual
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5282A-MC
8. Slide the controller and cache modules out of the shelf and note in which rails the module was seated. Place the modules on an ESD mat.
See Figure 2–5.
HSD50 Array Controller
Replacing field-replaceable units
Figure 2–5 Removing the controller and cache modules
2–9
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
CXO-5284A-MC
HSD50 Array Controller Service Manual
2–10 Replacing field-replaceable units
9. Wait for the following text to be displayed at the operating controller’s console:
______________________Note _____________________
You may remove the cache module before or after port activity has restarted.
________________________________________________
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
Port 5 restarted.
Port 6 restarted.
10. If necessary, remove the cache module.
Installing the new modules
1. When the controller prompts you, answer the questions:
Do you have a replacement HSD50 readily available?
[N] ? y
2. If you have a replacement module available, enter “YES”
3. Answer the question:
***Sequence to INSERT the other HSD50 has begun.***
Do you wish to INSERT the other HSD50 [N] ?
5. Wait for the following text to appear on the operating controller’s console:
Attempting to quiesce all ports.
Port 1 quiesced.
Port 2 quiesced.
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Insert the other HSD50 WITHOUT its program card, and press Return.
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–11
6. If necessary, install the cache module. Slide the module straight in along the rails and then push firmly to seat it in the backplane. See
Figure 2–6.
Figure 2–6 Installing the new cache and controller module
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5283A-MC
7. Slide the module straight in along the rails and then push firmly to seat it in the backplane. See Figure 2–6.
HSD50 Array Controller
___________________ Caution _____________________
Do not overtighten the controller’s front panel captive screws.
Damage to the controller PC board or front panel may result.
________________________________________________
8. Tighten the two front panel captive screws on the controller and cache module.
Service Manual
2–12 Replacing field-replaceable units
9. Reconnect the trilink cable to the controller’s front panel.
10. Reconnect the open end of the ECB cable to the cache module (see
Figure 2–7). Tighten the battery cable connector mounting screws.
Figure 2–7 Reconnecting the ECB cable
1 2 3 4 5 6
1 2 3 4 5 6
Service Manual
CXO-5282A-MC
11. Press Return on the operating controller’s console.
12. Wait for the following text to be displayed on the operating controller’s console:
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
Port 5 restarted.
Port 6 restarted.
HSD50 Array Controller
Replacing field-replaceable units 2–13
Controller Warm Swap terminated.
The configuration has two controllers.
To restart the other HSD50.
1) Enter the command RESTART OTHER_CONTROLLER.
2) Press and hold in the Reset (//) button while inserting the program card.
3) Release Reset (//); the controller will initialize.
4) Configure new controller by referring to the controller’s configuring manual.
Restarting the subsystem
_____________________ Note ______________________
The following section explains the four steps shown on the maintenance terminal screen.
________________________________________________
1. Start the new controller by entering the following CLI command:
HSD50> RESTART OTHER_CONTROLLER
2. Connect the maintenance terminal to the newly installed controller.
3. Press and hold the Reset (//) button on the new controller while inserting the program card from the replaced controller.
4. Release the Reset (//) button to initialize the controller. Wait for the
CLI prompt to appear at the terminal. You will see a “Controllers misconfigured” message, which you can ignore.
5. If the new controller reports an invalid cache error, enter one of the following CLI commands to clear the error.
If you have replaced the cache module, enter the following command:
HSD50> CLEAR_ERRORS INVALID_CACHE THIS_CONTROLLER
DESTROY_UNFLUSHED_DATA
HSD50 Array Controller
NODESTROY_UNFLUSHED_DATA
6. Ensure that the new controller is not in dual-redundant mode by entering the following command on the new controller:
HSD50> SET NOFAILOVER
Service Manual
2–14 Replacing field-replaceable units
If the controller was already in nonredundant mode, you will see a message indicating this condition.
7. Connect the maintenance terminal to the new controller. See
Figure 2–1).
8. Enter the following command from the new controller to put the controllers into dual-redundant mode.
HSD50> SET FAILOVER COPY=OTHER_CONTROLLER
The new controller will initialize.
9. Verify that all host settings are correct:
HSD50> SHOW THIS_CONTROLLER
Modify any incorrect information.
10. If any information has been changed, restart the new controller:
HSD50> RESTART THIS_CONTROLLER
11. After the controller has initialized, reconnect the trilink connector to the new controller and tighten the captive screws.
12. Enable DSSI path by entering the following commands:
HSD50> SET THIS_CONTROLLER PATH
13. On the ECB module front panel, check the LED status indicator for the appropriate indication. See Table 2–2.
Table 2–2 ECB status indicators
LED Status
LED is on continuously
LED blinks rapidly
LED blinks slowly
LED is off
Battery Status
System power is on and the ECB is fully charged.
System power is on and the ECB is charging.
System power is off and the ECB is supplying power to the cache.
System power is off and the ECB is not supplying power to the cache.
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–15
Replacing a controller and cache module in a single controller configuration
When you replace the controller module in a nonredundant configuration, device service is interrupted for the duration of the service cycle.
Required tools
The tools listed in Table 2–3 are required for the replacement of single controllers.
Table 2–3 Required tools for controller replacement
Required tools
Maintenance terminal
Small flat head screwdriver
ESD wrist strap and ESD mat
5/32-inch Allen wrench
Purpose
To shut down controllers, restart controllers, execute CLI commands and invoke utilities.
To loosen captive screws on front bezels and host cables.
To protect all equipment against ESD
To unlock the SW800-series cabinet
Removing the controller
1. If the controller is still or partially functioning, connect a maintenance terminal to the controller. See Figure 2–8.
Figure 2–8 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
HSD50 Array Controller Service Manual
2–16 Replacing field-replaceable units
2. Take the controller out of service:
HSD50> SHUTDOWN THIS_CONTROLLER
To ensure that the controller has shut down cleanly, check for the following indication on the controller’s OCP (operator control panel):
– The Reset (//) light is lit continuously.
– Port lights 1, 2, 3, are also lit continuously.
3. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
4. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point.
5. Remove the power cords from the controller power supply.
6. Disable the ECB by pressing the battery disable switch on the batter module’s front panel.
7. Disconnect the ECB battery cable from the cache module. See Figure
2–9.
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–9 Disconnecting the ECB cable
2–17
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5282A-MC
8. Unsnap and remove the program card ESD cover. See Figure 2–10.
9. While pressing and holding the Reset (//) button, eject the program
(PCMCIA) card by pushing the eject button next to the card. See Figure
2–10. Pull the card from the controller module. Save the program card for the replacement controller.
HSD50 Array Controller Service Manual
2–18 Replacing field-replaceable units
Figure 2–10 Removing the program card
1
1 2 3 4 5 6
ESD cover
2
1 2 3 4 5 6
PCMCIA card
Eject button
CXO-5302A-MC
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–19
10. With a small flat-head screwdriver, loosen the captive screws on the trilink connector at the controller’s front panel and remove the trilink.
See Figure 2–11.
Figure 2–11 Disconnecting the trilink connector
Host port connector with mating guide
Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
HSD50 Array Controller Service Manual
2–20 Replacing field-replaceable units
Figure 2–12 Removing the controller and cache module
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
Service Manual
CXO-5284A-MC
11. Loosen the two captive retaining screws at each corner of the controller and cache module front bezel.
12. Use a gentle rocking motion to loosen the controller module from the shelf backplane.
13. Slide the controller module out of the shelf and place it on an ESD mat.
See Figure 2–12.
14. If you are also removing the cache module, loosen the captive screws at each corner of the cache module’s front bezel. Use a gentle rocking motion to loosen the cache from the shelf backplane.
15. Slide the cache module out of the shelf.
HSD50 Array Controller
Replacing field-replaceable units 2–21
Installing the new modules
___________________ Caution _____________________
Do not overtighten the captive screws on the controller’s front bezel, the cache module’s front bezel, or the ECB cable.
Damage to the controller PC board or front bezel, the cache module’s front bezel, or the SBB may result.
________________________________________________
1. If required, install the replacement cache module into the shelf. See
Figure 2–13.
2. Slide the new controller module into the shelf using the same rails as the removed module. See Figure 2–13.
Figure 2–13 Installing the new cache and controller modules
1
Cache module
1 2 3 4 5 6
HSD50 Array Controller
2
1 2 3 4 5 6
1 2 3 4 5 6
Controller
CXO-5283A-MC
Service Manual
2–22 Replacing field-replaceable units
3. Tighten the front panel captive screws on the controller and cache module. Do not overtighten.
4. Reconnect the open end of the ECB cable to the cache module. Tighten the cable mounting screws. Do not overtighten.
5. Attach a maintenance terminal to the new controller.
6. Press and hold the controller’s green reset (//) button, while inserting the program card. The program card eject button will extend when the card is fully inserted.
7. Release the reset button to initialize the controller.
If the devices have been initialized using the
INITIALIZE
container_name
SAVE
_
CONFIGURATION
command, then the controller search the attached devices for the most recent saved configuration. When found, the controller will automatically load the configuration. The controller will then restart using the downloaded configuration.
8. If the controller reports an invalid cache error, enter one of the following CLI commands:
– If you have replaced the cache module, enter the following command:
HSD50> CLEAR_ERRORS INVALID_CACHE THIS_CONTROLLER
DESTROY_UNFLUSHED_DATA
NODESTROY_UNFLUSHED_DATA
9. Reattach the trilink connector to the controller’s front panel. Tighten the captive screws. Do not overtighten.
10. Check the controller configuration by entering the following CLI command:
HSD50> SHOW THIS_CONTROLLER
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–23
The controller will display the following information (this is a sample only):
Controller:
HSD50-AA ZG34901786 Firmware V05.1-0, Hardware AX11
Not configured for dual-redundancy
SCSI address 7
Time: 15 FEB-1997 16:32:54
Host port:
Node name: HSDA1, valid DSSI node 0
Host path is ON
MSCP allocation class 3
TMSCP allocation class 3
MAXIMUM HOSTS =4
Cache:
128 megabyte write cache, version 3
Cache is GOOD
Battery is good
No unflushed data in cache
CACHE_FLUSH TIMER = DEFAULT (10 seconds)
CACHE_POLICY = B
NOCACHE_UPS
HSD50 Array Controller Service Manual
2–24 Replacing field-replaceable units
Replacing one dual-redundant controller and write-back cache module
When you replace one dual-redundant controller module using the following instructions, device service is interrupted for the duration of the service cycle. Use this procedure when you can’t warm swap the controller and or cache module.
Required tools
The tools listed in Table 2–4 are required for the replacement of controllers.
Table 2–4 Required tools for controller replacement
Required tools
Maintenance terminal
Small flat head screwdriver
ESD wrist strap and ESD mat
5/32-inch Allen wrench
Purpose
To shut down controllers, restart controllers, execute CLI commands and invoke utilities.
To loosen captive screws on front bezels and host cables.
To protect all equipment against ESD
To unlock the SW800-series cabinet
Removing the controller
1. Determine that one controller is still operating properly.
2. If the controller you are removing is partially functioning, connect a maintenance terminal to the controller. If the controller has failed, connect a maintenance terminal to the other controller. See Figure 2–
14.
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–14 Connecting a maintenance terminal to the controller
Local-connection port
2–25
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
3. At the partially functioning controller or at the operating controller’s console, enter:
HSD50> SHUTDOWN THIS_CONTROLLER
To ensure that the controller has shutdown cleanly, check for the following indication on the controller’s OCP:
– The Reset (//) light is lit continuously.
– Port lights 1, 2, 3, are also lit continuously.
4. After shut down is complete, connect the maintenance terminal to the other controller. Take the controller out of service:
HSD50> SHUTDOWN THIS_CONTROLLER
5. Obtain and place a ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
6. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point.
7. Unsnap and remove the program card ESD cover, as shown in the first illustration in Figure 2–15.
HSD50 Array Controller Service Manual
2–26 Replacing field-replaceable units
Figure 2–15 Removing the program card
1
1 2 3 4 5 6
ESD cover
Service Manual
2
1 2 3 4 5 6
PCMCIA card
Eject button
CXO-5302A-MC
8. While pressing and holding the Reset (//) button, eject the program
(PCMCIA) card by pushing the eject button next to the card. See
Figure 2–15. Pull the card out and save it for use in the replacement controller module.
HSD50 Array Controller
Replacing field-replaceable units 2–27
9. With a small flat-head screwdriver, remove the trilink connector from the controller’s front panel. Do not remove the host cables from the trilink. See Figure 2–16.
Figure 2–16 Disconnecting the trilink connector
Host port connector with mating guide
Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
10. Disconnect the ECB cable from the cache module. While holding the battery cable in your hand, disable the ECB by pressing the battery disable switch. See Figure 2–17.
HSD50 Array Controller Service Manual
2–28 Replacing field-replaceable units
Figure 2–17 Disconnecting the ECB cable
Service Manual
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5282A-MC
11. Loosen the front bezel captive screws on the controller and cache module.
12. Use a gentle rocking motion to loosen the controller module from the shelf backplane.
13. Slide the controller module out of the shelf (noting which rails the module was seated in) and place it on an approved ESD mat. See
Figure 2–18.
14. If necessary remove the cache module and note in which rails it was seated. Place it on an approved ESD mat. See Figure 2–18.
HSD50 Array Controller
Replacing field-replaceable units
Figure 2–18 Removing the controller and cache modules
2–29
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
CXO-5284A-MC
Installing the new controller and cache module
1. Reinstall the cache module if it has been removed. See Figure 2–19.
2. Use a gentle rocking motion to help seat the module into the backplane. Press firmly on the module until it is seated.
HSD50 Array Controller Service Manual
2–30 Replacing field-replaceable units
3. Slide the controller module into the shelf using the same rails as the removed module. See Figure 2–19.
Figure 2–19 Installing the new cache and controller module
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
Service Manual
1 2 3 4 5 6
CXO-5283A-MC
4. Tighten the two captive retaining screws on the front panel of the cache and controller modules.
5. Reconnect the trilink connector to the controller’s front panel.
6. Reconnect the open end of the ECB cable to the new cache module.
7. Attach a maintenance terminal to the replaced controller.
8. Press and hold the controller’s green reset (//) button, while inserting the program card. The program card eject button will extend when the card is fully inserted.
HSD50 Array Controller
Replacing field-replaceable units
9. Release the reset button to initialize the controller.
10. Attach the maintenance terminal to the replacement controller.
11. If the controller reports an invalid cache error, enter one of the following CLI commands:
– If you have replaced the cache module, enter the following command:
HSD50> CLEAR_ERRORS INVALID_CACHE THIS_CONTROLLER
DESTROY_UNFLUSHED_DATA
2–31
HSD50 Array Controller
NODESTROY_UNFLUSHED_DATA
12. Ensure that the controllers are not in dual-redundant mode:
HSD50 >SET NOFAILOVER
13. Place both controllers into the dual-redundant mode and copy the controller configuration from the surviving controller:
HSD50> SET FAILOVER COPY=OTHER_CONTROLLER
14. Check controller parameters:
HSD50> SHOW THIS_CONTROLLER
A listing of controller information will be displayed, as shown in the following example:
Controller:
HSD50-AA ZG34901786 Firmware V05.1-0, Hardware AX11
Configured for dual-redundancy with ZG61000012
In dual-redundant configuration
SCSI address 7
Time: 15 FEB-1997 16:32:54
Host port:
Node name: HSDA1, valid DSSI node 0
Host path is ON
MSCP allocation class 3
TMSCP allocation class 3
MAXIMUM HOSTS =4
Cache:
128 megabyte write cache, version 3
Cache is GOOD
Battery is good
No unflushed data in cache
Service Manual
2–32 Replacing field-replaceable units
CACHE_FLUSH TIMER = DEFAULT (10 seconds)
CACHE_POLICY = B
NOCACHE_UPS
Replacing cache modules
This section contains replacement procedures for write-back cache modules for the HSD50 controllers.
If you are replacing one cache module in a dual-redundant configuration, use the controller and cache module warm-swap procedure in this manual.
The controller module is seated in front of the cache module. Any time you service a cache module in a single controller configuration, you must shut down the subsystem. In a dual-redundant configuration, use the controller warm swap procedure to replace a failed cache module.
Required tools
The tools listed in Table 2–5 are required for replacing cache modules.
Table 2–5 Required tools
Required tools
Maintenance terminal
ESD wrist strap
5/32-inch Allen wrench
Purpose
To shut down controller, restart controllers, add and delete devices
To protect all equipment against ESD
To unlock the SW800-series cabinet
Removing a write-back cache module (single controller configuration)
1. Connect a maintenance terminal to the controller that contains the cache module to be replaced. See Figure 2–20.
2. Take the controller out of service:
HSD50> SHUTDOWN THIS_CONTROLLER
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–20 Connecting a maintenance terminal to the controller
Local-connection port
2–33
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
3. To ensure that the controller has shut down cleanly, check for the following indication on the controller’s OCP:
– The Reset (//) light is lit continuously.
– Port lights 1, 2, 3, are also lit continuously.
4. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
5. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point.
6. Remove the power cords from the controller power supplies.
7. Disable the ECB by pressing the battery disable switch on the battery module’s front panel.
8. Disconnect the ECB cable from the cache module.
HSD50 Array Controller Service Manual
2–34 Replacing field-replaceable units
9. With a small flat-head screwdriver, remove the trilink connector from the controller’s front panel. Do not remove the host cables from the trilink. See Figure 2–21.
Figure 2–21 Disconnecting the trilink connector
Host port connector with mating guide
Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
10. Loosen the two captive retaining screws on the controller and cache module’s front panel.
11. Use a gentle rocking motion to loosen the controller module from the shelf backplane.
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–22 Removing controller and cache modules.
2–35
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
CXO-5284A-MC
12. Slide the controller module out of the shelf (noting which rail it was seated in) and place it on an ESD mat. See Figure 2–22.
13. Slide the cache module out of the shelf. See Figure 2–22.
HSD50 Array Controller Service Manual
2–36 Replacing field-replaceable units
Installing the new cache module
1. Install the replacement cache module into the shelf using the same rails as the removed modules. See Figure 2–23.
2. Install the replacement cache module into the shelf using the same rails as the removed modules. See Figure 2–23.
Figure 2–23 Installing cache and controller module
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
Service Manual
1 2 3 4 5 6
CXO-5283A-MC
3. Reinstall the controller module into the shelf using the same controller rails, then tighten the two captive retaining screws on the controller and cache modules. See Figure 2–23.
4. Reconnect the open end of the ECB cable to the cache module. Tighten the battery cable connector mounting screws.
5. Reconnect the power cords to the controller power supplies.
HSD50 Array Controller
Replacing field-replaceable units 2–37
6. Restart the controllers by pushing the front panel Reset (//) button while inserting the program card.
7. If the controller reports an invalid cache error, enter the following CLI command:
HSD50> CLEAR_ERRORS INVALID_CACHE THIS_CONTROLLER
DESTROY_UNFLUSHED_DATA
Replacing external cache batteries (ECBs)
The ECBs are installed in a 3 1/2-inch StorageWorks building block (SBB) module. Digital does not recommend replacing individual ECBs. Therefore, when one ECB needs to be replaced, replace the entire SBB.
When replacing an SBB battery module in a single controller configuration, the system must be shut down.
In a dual-redundant configuration, there are two ways to change the battery
SBB:
•
An online method (C_SWAP) in which one controller continues to process I/O
•
An offline method in which both controllers are shut down.
Required Tools
The tools listed in Table 2–6 are required for replacing the external cache batteries.
Table 2–6 Required tools
Required tools
Maintenance terminal
Small flat head screwdriver
ESD wrist strap and ESD mat
5/32-inch Allen wrench
Purpose
To shut down controllers, restart controllers, execute CLI commands and invoke utilities.
To loosen captive screws on front bezels and host cables.
To protect all equipment against ESD
To unlock the SW800-series cabinet
HSD50 Array Controller Service Manual
2–38 Replacing field-replaceable units
Replacing the SBB battery module
Use the following procedure to replace an SBB battery module containing a failed ECB in a dual-redundant controller configuration using C_SWAP.
Preparing the subsystem
1. For the purpose of this procedure, mark one controller A and the other controller B. This procedure assumes that controller A is connected to the ECB being replaced.
2. Connect a maintenance terminal to controller B. See Figure 2–24.
Figure 2–24 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
3. Loosen the captive screws of controller A trilink and the front bezel of controller A and cache module A.
4. Shut down controller A:
HSD50> SHUTDOWN OTHER_CONTROLLER
When the controller halts, the green Reset (//) LED stops flashing and stays lit.
5. Take the operating controller out of dual-redundant (failover) mode:
HSD50> SET NOFAILOVER
You may see a Warning 600 at the terminal; you can safely ignore this warning.
Service Manual HSD50 Array Controller
Replacing field-replaceable units the
SWAP
program:
HSD50> RUN C_SWAP
Replacing the failed ECB
1. When the controller prompts you, answer the question:
Do you wish to remove the other HSD50 y/n [n] ?
3. Answer the question:
Will its cache module also be removed Y/N [n] ?
2–39
_____________________ Note ______________________
You have 5 minutes in which to remove the controller. If you are removing the cache module, the time allowed is 2 minutes.
________________________________________________
5. Wait for the following text to be displayed at the console:
Killing other controller
Attempting to quiesce all ports
Port 1 quiesced.
Port 2 quiesced.
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Remove the other controller (the one WITHOUT a blinking green LED) within 5 minutes.
Time remaining 4 minutes 50 seconds.
6. Place the ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
7. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
8. Unsnap and remove the program card ESD cover on controller A.
HSD50 Array Controller Service Manual
2–40 Replacing field-replaceable units
9. While pressing and holding the Reset (//) button, eject the program
(PCMCIA) card by pushing the eject button next to the card. See Figure
2–25.
Figure 2–25 Removing the program card
1
1 2 3 4 5 6
ESD
COVER
Service Manual
2
1 2 3 4 5 6
PCMCIA
CARD
EJECT
BUTTON
CXO-5174A-MC
10. Remove the trilink from controller A. Do not disconnect the host cables from the trilink.
HSD50 Array Controller
Replacing field-replaceable units 2–41
11. Slide controller A out of the shelf (note the rails in which the module is seated) and place it on an ESD mat. Do not remove the trilink connector. See Figure 2–26.
Figure 2–26 Removing the controller and cache module
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
CXO-5284A-MC
12. Wait for the following text to be displayed at the operating controller’s console:
HSD50 Array Controller Service Manual
2–42 Replacing field-replaceable units
______________________Note _____________________
You may remove the cache module before or after port activity has restarted.
________________________________________________
Restarting all ports
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
Port 5 restarted.
Port 6 restarted.
13. Pull the cache module out of the shelf far enough to disconnect it from the backplane. It is not necessary to remove the cache module completely from the shelf.
____________________ Caution ____________________
To avoid the possibility of short circuit or electrical shock, always disable the ECB before disconnecting the ECB cable at either end.
________________________________________________
14. Disconnect the battery cable at the failed ECB and connect it to the new ECB. Until you are ready to install the SBB containing the new
ECB in the cabinet, you can put the SBB containing the new ECB anywhere the cable will reach.
____________________ Caution ____________________
Do not disconnect the ECB cable from cache module B. Data may be lost if the battery cable is disconnected from the operating cache module.
________________________________________________
15. Tighten the battery cable connector mounting screws. See Figure 2–27.
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–27 ECB Cable Connection
2–43
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5282A-MC
Reinstalling the modules
1. When the controller prompts you, answer the question:
Do you have a replacement HSD50 readily available?
[N] ? y removed in step 11 of the previous sequence.
3. Answer the question:
***Sequence to INSERT the other HSD50 has begun.***
Do you wish to INSERT the other HSD50 [N] ?
HSD50 Array Controller
5. Wait for the following text to appear on the operating controller’s console:
Attempting to quiesce all ports.
Port 1 quiesced.
Port 2 quiesced.
Service Manual
2–44 Replacing field-replaceable units
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Insert the other HSD50 WITHOUT its program card, and press Return.
6. Slide the cache module for controller A all the way back into the shelf and push firmly to seat it in the backplane. See Figure 2–28.
Figure 2–28 Reinstalling the cache and controller module
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
Service Manual
1 2 3 4 5 6
CXO-5283A-MC
7. Reinstall controller A into its original location. Slide the controller module along the rails and then push firmly to seat it in the backplane.
See Figure 2–28.
HSD50 Array Controller
Replacing field-replaceable units 2–45
___________________ Caution _____________________
Do not overtighten the captive screws on the controller’s front bezel, the cache module’s front bezel, or the ECB cable.
Damage to the controller PC board or front bezel may result.
________________________________________________
8. Reinstall the trilink on controller A and tighten the captive screws.
10. Wait for the following text to be displayed on the operating controller’s console:
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
Port 5 restarted.
Port 6 restarted.
Controller Warm Swap terminated.
The configuration has two controllers.
To restart the other HSD50:
1) Enter the command RESTART OTHER_CONTROLLER.
2) Press and hold in the Reset (//) button while inserting the program card.
3) Release Reset (//); the controller will initialize.
4) Configure new controller by referring to the controller’s configuration manual.
Restarting the subsystem
___________________ Caution _____________________
Wait until the new ECB is fully charged before restarting controller A.
________________________________________________
1. Restart controller A by entering the following CLI command:
HSD50> RESTART OTHER_CONTROLLER
2. Connect the maintenance terminal to controller A (see Figure 2–24).
3. Press and hold the Reset (//) button on controller A while inserting the program card into Controller A.
HSD50 Array Controller Service Manual
2–46 Replacing field-replaceable units
4. Release the Reset (//) button to initialize controller A. Wait for the CLI prompt to appear at the terminal. You will see a “Controllers misconfigured” message, which you can ignore.
5. Enter the following command:
HSD50> SET NOFAILOVER
6. Enter the following command from controller A CLI to put the controllers into dual-redundant mode.
HSD50> SET FAILOVER COPY=OTHER_CONTROLLER
Controller A will restart.
7. Tighten the front bezel captive screws on the cache and controller module. Do not overtighten.
Preparing to replace the second ECB
1. Loosen the captive screws of controller B trilink and the front bezel of controller B and cache module B.
2. Using the maintenance terminal connected to controller A, take controller B out of service:
HSD50> SHUTDOWN OTHER_CONTROLLER
When the controller B halts, the green Reset (//) LED stops flashing and stays lit.
3. Take controller A out of dual-redundant (failover) mode:
HSD50> SET NOFAILOVER the _
SWAP
program:
HSD50> RUN C_SWAP
Replacing the second ECB
1. When the controller prompts you, answer the question:
Do you wish to remove the other HSD50 y/n [n] ?
3. Answer the question:
Will its cache module also be removed Y/N [n] ?
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–47
5. Wait for the following text to be displayed at the console:
Killing other controller
Attempting to quiesce all ports
Port 1 quiesced.
Port 2 quiesced.
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Remove the other controller (the one WITHOUT a blinking green LED) within 5 minutes.
Time remaining 4 minutes 50 seconds.
6. Place the ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
7. Attach or clip the other end of the ESD wrist strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
8. Unsnap and remove the program card ESD cover on controller B. See
Figure 2–25.
9. While pressing and holding the Reset (//) button, eject the program
(PCMCIA) card by pushing the eject button next to the card. See Figure
2–25.
10. Slide controller B out of the shelf, noting in which rails the module was seated, and place it on an ESD mat. See Figure 2–26. Do not remove the trilink connector.
11. Wait for the following text to be displayed at the operating controller’s console:
_____________________ Note ______________________
You may remove the cache module before or after port activity has restarted.
________________________________________________
Restarting all ports
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
HSD50 Array Controller Service Manual
2–48 Replacing field-replaceable units
Port 5 restarted.
Port 6 restarted.
12. Pull the cache module for controller B out of the shelf far enough to disconnect it from the backplane. It is not necessary to remove the cache module completely from the shelf.
13. Disconnect the cable from the ECB which is mounted in the same SBB as the failed ECB, and connect it to the second ECB in the new SBB.
Figure 2–29 ECB Cable Connection
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5282A-MC
Reinstalling the modules
1. When the controller prompts you, answer the question:
Do you have a replacement HSD50 readily available?
[N] ? y in step 10 of the previous sequence.
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–49
3. Answer the question:
***Sequence to INSERT the other HSD50 has begun.***
Do you wish to INSERT the other HSD50 [N] ?
5. Wait for the following text to appear on the operating controller’s console:
Attempting to quiesce all ports.
Port 1 quiesced.
Port 2 quiesced.
Port 3 quiesced.
Port 4 quiesced.
Port 5 quiesced.
Port 6 quiesced.
All ports quiesced.
Insert the other HSD50 WITHOUT its program card, and press Return.
6. Slide the cache module for controller B all the way back into the shelf and push firmly to seat it in the backplane.
___________________ Caution _____________________
Do not overtighten the captive screws on the controller’s front bezel, the cache module’s front bezel, or the ECB cable.
Damage to the controller PC board or front bezel, the cache module’s front bezel, or the battery SBB may result.
________________________________________________
7. Install controller B. Slide the controller module along the rails and then push firmly to seat it in the backplane. See Figure 2–28.
8. Tighten the front bezel captive screws on the cache module and the controller module.
HSD50 Array Controller
10. Wait for the following text to be displayed on the maintenance terminal:
Port 1 restarted.
Port 2 restarted.
Port 3 restarted.
Port 4 restarted.
Port 5 restarted.
Port 6 restarted.
Service Manual
2–50 Replacing field-replaceable units
Controller Warm Swap terminated.
The configuration has two controllers.
To restart the other HSD50.
1) Enter the command RESTART OTHER_CONTROLLER.
2) Press and hold in the Reset (//) button while inserting the program card.
3) Release Reset (//); the controller will initialize.
4) Configure new controller by referring to controller’s user guide.
Restarting the subsystem
1. Start controller B by entering the following CLI command:
HSD50> RESTART OTHER_CONTROLLER
2. Connect the maintenance terminal to controller B.
3. Press and hold the Reset (//) button on controller B while inserting the program card into controller B.
4. Release the Reset (//) button to initialize the controller. Wait for the
CLI prompt to appear at the terminal. You will see a “Controllers misconfigured” message, which you can ignore.
5. Enter the following command:
HSD50> SET NOFAILOVER
6. Enter the following command from controller B.
HSD50> SET FAILOVER COPY=OTHER_CONTROLLER
Controller B will restart.
7. Ensure that the ECB cable connections are secure.
8. Remove the old SBB battery module from the device shelf and replace it with the new operating SBB.
9. Shut down the old SBB battery module by pressing both ECB shut down buttons until the LEDs stop flashing.
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–51
Replacing power supplies
There are two methods for replacing shelf and controller power supplies: asynchronous swap and cold swap.
Asynchronous swap allows you to remove a defective power supply while the other power supply provides power to the shelf or the controller.Use
asynchronous swap to replace a power supply ONLY when there is a redundant power supply in the shelf.
When using the cold swap method, service to a device is interrupted for the duration of the service cycle. Use the cold-swap method when there are no redundant power supplies in the shelf.
Required tools
The tools listed in Table 2–7 are required for replacing power supplies.
Table 2–7 Required tools
Required tools
Maintenance terminal
5/32-inch Allen wrench
Purpose
To shut down controller, restart controllers, add and delete devices
To unlock the SW800-series cabinet
Removing the power supply
Use this procedure in an dual-redundant configuration if you have only one power supply in the device shelf or controller shelf.
1. If you are performing a cold swap, and the power supply is still operating, connect a maintenance terminal to one of the controllers.
2. At the CLI prompt, enter:
HSD50> SHUTDOWN OTHER_CONTROLLER
HSD50> SHUTDOWN THIS_CONTROLLER
3. Disconnect the power cord from the power supply.
4. Press the two mounting tabs together to release the power supply from the shelf and partially pull it out of the shelf. See Figure 2–30.
5. Use both hands to pull the power supply out of the shelf.
HSD50 Array Controller Service Manual
2–52 Replacing field-replaceable units
Figure 2–30 Removing the power supply
1
2
CXO-5228A-MC
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–53
Installing the new power supply
1. Firmly push the power supply into the shelf until the mounting tabs snap into place.
2. Reconnect the power cord to the power supply.
3. Observe the power and shelf status indicators to make sure they are on.
If the status indicators are not on, refer to the installation section, tables
46 and 47 of this manual. See Figure 2–31.
Figure 2–31 The power supply status indicators
SHELF
STATUS LED
POWER SUPPLY
STATUS LED
CXO-4651A-MC
Asynchronous swap method
Use this swap method ONLY if you have redundant power supplies AND if one of the supplies is still operating.
1. Press the two mounting tabs together to release the power supply from the shelf and partially pull it out of the shelf. See Figure 2–30.
2. Use both hands to pull the power supply out of the shelf.
3. Firmly push the power supply into the shelf until the mounting tabs snap into place.
4. Reconnect the power cord to the power supply.
HSD50 Array Controller Service Manual
2–54 Replacing field-replaceable units
5. Observe the power and shelf status indicators to make sure they are on.
If the status indicators are not on, refer to the installation section, tables
46 and 47 of this manual. See Figure 2–31.
Asynchronous disk drive swap
Software Version 5.1 supports asynchronous disk drive replacement, device removal, and device insertion without first quiescing the device bus. You can remove or insert devices at any time with the following restrictions:
•
Do not remove or insert devices during failover.
•
Do not remove or insert devices during failback.
•
Do not remove or insert devices before the CLI prompt appears during controller initialization.
•
Do not remove or insert devices while the controller is still recognizing a device removal (indicated by flashing LEDs).
•
Do not remove or insert devices while the controller is running a local program such as DILX or HSUTIL.
•
Wait 50 seconds after inserting one disk drive before inserting a second disk drive.
Required tools
The tools listed in Table 2–8 are required for replacing disk drives.
Table 2–8 Required tools for installing disk drives
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800-series cabinet
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–55
Disk drive replacement procedure (3 1/2 and 5 1/4-inch drives)
1. Press the two mounting tabs together to release the disk drive from the shelf and partially pull it out of the shelf. See Figure 2–32.
Figure 2–32 Removing a disk drive
HSD50 Array Controller
CXO-4439A-MC
2. Using both hands, pull the disk drive out of the shelf. Notice that the corresponding port LED is flashing.
3. When the port LED stops flashing , align the replacement disk drive with the shelf rails.
4. Push the disk dive all the way into the shelf until the locking tabs snap into place.
5. Observe the status indicator for the following indications. See Figure
2–33.
– The device fault (amber) LED is off.
If the replaced disk was in the failedset before replacement, and the failedset is set to autospare, then the replacement disk will automatically place the new disk drive into the spareset.
Otherwise, you may use the replaced disk in creating or recreating an appropriate container type.
6. Restore the data from whatever backup method you use.
Service Manual
2–56
Device
Activity
(Green)
Replacing field-replaceable units
Figure 2–33 Status indicators for 3.5- and 5.25-inch SBBs
Device
Activity
(Green)
Device
Fault
(Amber)
Device
Fault
(Amber)
CXO-4654B-MC
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–57
Replacing tape drives
Use the warm-swap method to replace tape drives. When using this method the OCP (operator control panel) buttons are used to quiesce the bus that corresponds to the replacement device.
Required tools
The tools listed in Table 2–9 are required for replacing tape, optical and
CD
−
ROM drives.
Table 2–9 Required tools for SBB replacement
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800-series cabinet
Tape drive replacement procedure
1. Halt all I/O activity to the appropiate port using the using the required procedure for your operating system.
2. Quiesce the port by pressing the OCP button for that port.
3. When the OCP LEDs flash in an alternating pattern the device port is quiesced. For example, when you quiesce device port three and I/O has halted, the OCP LEDs are flashing in an alternating pattern as shown in the following illustration. The flashing LEDs are represented by the dark circles with lines radiating from them.
HSD50 Array Controller
CXO-4824A-MC
4. At the tape drive to be replaced, press the two mounting tabs together to release the device from the shelf and partially pull it out of the shelf.
5. Use both hands to pull the device out of the shelf.
Service Manual
2–58 Replacing field-replaceable units
6. Check and match, if necessary, the SCSI address of the failed tape drive to the replacement drive.
7. Quiesce the port again. Look for the following OCP indicators. The flashing LEDs are represented by the dark circles with lines radiating from them.
CXO-4824A-MC
8. Align the tape drive with the shelf rails and insert the new device.
9. When the controller recognizes the device, the port light will be turned off and the system will return to normal operation.
Replacing a solid-state disk drive, optical, or CD-ROM drive
Use the cold-swap method to replace a solid-state, optical, or CD-ROM drive. When using this method, you must shut down the controllers and remove power from the shelf.
Required tools
The tools listed in Table 2–10 are required for replacing solid-state disk drives.
Table 2–10 Required tools for replacing a solid-state disk drive, optical, or CD-ROM drive
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800-series cabinet
Service Manual HSD50 Array Controller
Replacing field-replaceable units 2–59
Solid-state, optical, and CD-ROM drive replacement procedure
1. Halt all host I/O activity using the appropriate procedures for your operating system.
2. Connect a maintenance terminal to one of the controllers.
3. At the CLI prompt, enter:
HSD50> SHUTDOWN OTHER_CONTROLLER
HSD50> SHUTDOWN THIS_CONTROLLER
4. Remove the power cords from the shelf that contains the failed solidstate disk drive, optical or CD-ROM drive.
5. Press the two mounting tabs together to remove the storage building block (SBB) from the shelf (see Figure 2–34).
Figure 2–34 Removing a CD-ROM drive
1
2
HSD50 Array Controller
CXO-5229A-MC
Service Manual
2–60 Replacing field-replaceable units
6. Align the replacement solid-state disk drive with the shelf rails.
7. Push the disk drive all the way into the shelf until the locking tabs snap into place.
8. Observe the status indicator for the following indications:
– The device fault (amber) LED is off.
Replacing DSSI host cables
Servicing the DSSI host cables will cause some system downtime, because the host path will be disconnected from at least one controller for the duration of the procedure. If you are using a dual-redundant configuration, you may want to shut down one controller and use the surviving controller to service devices while you replace the cables on the shut down controller.
Required tools
The tools listed in Table 2–11 are required for replacing DSSI host cables.
Table 2–11 Required tools for DSSI host cable replacement
Required tools
Small flat-head screwdriver
5/32-inch Allen wrench
Purpose
To loosen captive screws
To unlock the SW800-series cabinet
Replacing the DSSI host cables
____________________ Caution ____________________
Never leave the active DSSI host buses unterminated during the service cycle.
________________________________________________
1. Halt all I/O activity using the appropriate procedures for your operating system.
2. Dismount all units using the procedures for your operating system.
3. Disconnect the DSSI host cable from the host or other device.
4. Use a small flat-head screwdriver to loosen the captive screws on the trilink connector at the controller’s front bezel. Disconnect the cable from the trilink connector. See Figure 2–35.
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–35 Disconnecting the DSSI host cable
Host port connector with mating guide
Controller
2–61
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
5. Remove the DSSI host cable from the cabinet, cutting the tie wraps as necessary.
6. Position and route the DSSI host cable within the cabinet.
7. Connect the DSSI host cable to the trilink connector on the controller’s front panel. Tighten the captive screws on the DSSI host cable connector.
8. Install new tie wraps as necessary to hold the DSSI host cable in place.
9. Connect the other end of the host cable to another controller or to the host.
HSD50 Array Controller Service Manual
2–62 Replacing field-replaceable units
Replacing SCSI device port cables
Servicing SCSI device port cables will require some downtime, because you must remove devices to access SCSI connectors in the controller shelf and the device shelf.
Required tools
The tools listed in Table 2–12 are required for replacing SCSI device cables.
Table 2–12 Required tools for replacing SCSI device cables
Required tools
Small flat-head screwdriver
5/32-inch Allen wrench
Purpose
To loosen captive screws
To unlock the SW800-series cabinet
Replacing the device cables
1. Halt all I/O activity to the controller, using the appropriate procedures for your operating system.
2. Dismount all units using the appropriate procedures for your operating system.
3. Remove each controller and cache module using the Replacing Cache
Module procedures in this manual.
4. Use a flat-head screwdriver to loosen the two captive screws on each side of the volume shield and remove the shield (see Figure 2–36).
Service Manual HSD50 Array Controller
Replacing field-replaceable units
Figure 2–36 Removing the volume shield
2–63
VOLUME
SHIELD
HSD50 Array Controller
CXO-5175A-MC
5. Remove the cable from the controller shelf backplane by pinching the cable connector side clips and disconnecting the cable.
___________________ Caution _____________________
Digital recommends that you label all devices before you remove them from the device shelf.
________________________________________________
6. Before removing the disk drives from the shelf, let the drive spin down for at least 30 seconds. Gyroscopic motion from a spinning disk may cause you to drop and damage the disk.
7. Remove any SBBs necessary to gain access the SCSI cable. See Figure
2–37.
Service Manual
2–64 Replacing field-replaceable units
Figure 2–37 Access to the SCSI cables
8-BIT SHELF
~
1
Service Manual
REMOVE
SBBs
SCSI
CABLE
ACCESS
2
BUS CONNECTOR
JA1
BUS CONNECTOR
JB1
REMOVE
DEVICE
CABLE
CXO-5176A-MC
8. Remove the failed cable from the device shelf backplane by pinching the cable connector side clips and disconnecting the cable. See Figure
2–37.
9. To install a new SCSI device port cable at the device shelf, gently slide the cable connector in from one side to the other, and rock the connector to help seat it. Listen for the connector to snap into the place.
Take care not to bend any connector pins.
HSD50 Array Controller
Replacing field-replaceable units 2–65
10. To install the cable at the controller shelf, gently slide the cable connector on from one side to the other, and rock the connector to help seat it. Listen for the connector to snap into place.
11. Reinstall the SBBs into the shelf. Ensure that you install devices into the same slot that they were removed from.
12. Replace the volume shield in the controller shelf and lightly tighten the captive screws using a flat-head screwdriver.
13. Replace the cache modules and the controller modules using the
Replace Cache Module section of this manual.
HSD50 Array Controller Service Manual
HSD50 Array Controller
3
Installing
Patching controller software
Formatting disk drives
Installing new software on a device
Installing a controller and cache module (single controller configuration)
Installing a second controller and cache module
Adding a second controller using C_SWAP
Installing a cache module
Adding cache memory
Installing power supplies
Installing storage building blocks
Service Manual
3–2 Installing
Precautions
Some of the procedures in this chapter involve handling program card, controller modules and cache modules. Use the following guidelines to prevent component damage while servicing your subsystem modules.
Electrostatic discharge protection
Electrostatic discharge (ESD) can damage system components. Use the following guidelines when handling your subsystem components:
Handling controllers or cache modules
Always wear a properly grounded ESD wrist strap whenever you remove or install a controller or cache module.
After removing a controller or cache module from the shelf, place the module into an approved antistatic bag or onto a grounded antistatic mat.
Write-back cache modules contain high-current battery cells that can cause injury to personnel if in contact with a conductive surface. Do not place write-back cache modules or battery cells on metal surfaces.
Handling the program card
Use the following guidelines when handling the program card:
•
Cover the program card with the snap-on ESD cover when the card is installed in the controller.
•
Keep the program card in its original carrying case when not in use.
•
Do not twist or bend the program card.
•
Do not touch the program card contacts.
Service Manual HSD50 Array Controller
Installing 3–3
Patching controller software
The Code Patch function of the Code Load Code Patch (CLCP) utility allows you to enter small changes to the controller’s software. The patches that you enter are placed directly into the controller's NVMEM, (non volatile memory) and become active after the next controller initialization.
If the storage devices have been initialized with the
SAVE
_
CONFIGURATION switch of the
INITIALIZE
command, the patches that you enter will be stored on each disk of the storage set.
The code patching utility allows more than one patch to be entered for a given software version. Each patch is associated with only one software version, and the code patch utility verifies the patch against the currently installed software version. Some patches require the installation of previous patches, called dependent patches, before they can be installed. Each patch has a unique patch number to identify it.
The Code Patch function also allows you to list patches already installed.
You may want to list patches before you install a patch to see what has previously been loaded and to see how much free space is available.
You can run the Code Patch function of the CLCP utility from either a maintenance terminal or a virtual host terminal.
HSD50 Array Controller Service Manual
3–4 Installing
Code patch considerations
Be aware of the following characteristics when using the Code Patch function of the CLCP utility:
•
The controller reserves enough nonvolatile memory for approximately
10 patches. However, this number varies according to the size of the patches you install.
•
Each patch is associated with only one software version, and the Code
Patch program verifies the patch against the currently installed software version.
•
Patches are hierarchical. In other words, for any given software version, patch number one must be entered before you enter patch number two, and so on. Furthermore, there are no “zero” patches. Patches are always numbered sequentially beginning with the number one.
•
Because of the hierarchical patch structure, removing any patch also removes all higher numbered patches. For example, deleting patch number two also removes patches three, four, and so on.
•
Controllers in dual-redundant configurations must have the same patches applied. You must enter patches into each controller separately.
Listing patches
The List Patches option allows you to display a listing of controller software versions, and the currently installed patches that apply to them.
Following is an example of the List Patches option:
Service Manual HSD50 Array Controller
Installing 3–5
1. Connect a maintenance terminal to the controller. See Figure 3–1.
Figure 3–1 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
2. Invoke the CLCP utility:
CLI> RUN CLCP
The CLCP main menu is displayed:
Select an option from the following list:
Code Load & Code Patch local program Main Menu
0: Exit
1: Enter Code LOAD local program
2: Enter Code PATCH local program
Enter option number (0..2) [0] ?
----------------------------------------------------
This controller module does not support code load functionality. Exiting CLCP.
CLI>
HSD50 Array Controller Service Manual
3–6 Installing
Service Manual
You have selected the Code Patch local program. This program is used to manage firmware code patches.
Select an option from the following list:
Type ^Y or ^C (then RETURN) at any time to abort
Code Patch.
Code Patch Main Menu
0: Exit
1: Enter a Patch
2: Delete Patches
3: List Patches
Enter option number (0..3) [0] ? 1
The following patches are currently stored in the patch area:
Firmware Version - Patch number(s)
______ _________
V50D - 2,1
V51D - 3,2,1
Currently, 91% of the patch area is free.
SHOW THIS
_
CONTROLLER
command also provides patch information. In the following example, software Version 5.0 has three patches applied to the current software.
5. At the CLI prompt, enter:
CLI> SHOW THIS_CONTROLLER
.
.
Controller:
HSD50 ZG33400026 Firmware V51D-3, n
Hardware 0000
.
installed for software version 51D.
HSD50 Array Controller
Installing 3–7
Installing a patch
This option allows you to enter a firmware program patch directly into the controller's NVMEM. You are prompted to enter the firmware version number to which the patch applies, the patch length, the patch type, the patch number, the count, the RAM address, the new contents of that address, and a patch verification number.
_____________________ Note ______________________
The patch data in this example is provided only for the purpose of illustrating the code patch operation. Obtain actual code patch data for your controller’s firmware version from your
Digital representative.
________________________________________________
The code patch utility verifies that the patch you are entering is appropriate for the firmware version in the controller, and that there are no required dependent patches. It allows you to enter only one patch at a time. The utility prompts with error messages if you attempt to perform an illegal patch entry. Following is an example of the use of the patch entry option:
1. Obtain the appropriate patch data for your controller's firmware version from your Digital Equipment Corporation representative.
2. Connect a maintenance terminal to the controller. See Figure 3–2.
Figure 3–2 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
HSD50 Array Controller Service Manual
3–8
Service Manual
Installing
3. Invoke the CLCP utility:
CLI> RUN CLCP
The CLCP main menu is displayed:
Select an option from the following list:
Code Load & Code Patch local program Main Menu
0: Exit
1: Enter Code LOAD local program
2: Enter Code PATCH local program
Enter option number (0..2)?
----------------------------------------------------
This controller module does not support code load functionality. Exiting CLCP.
CLI>
You have selected the Code Patch program. This program is used to manage firmware code patches.
Select an option from the following list:
Type ^Y or ^C (then RETURN) at any time to abort
Code Patch.
Code Patch Main Menu
0: Exit
1: Enter a Patch
2: Delete Patches
3: List Patches
Enter option number (0..3)?
This is the Enter a Code Patch option. The program prompts you for the patch information, one line at time. Be careful to enter the information exactly as it appears on the patch release.
Patches may be installed for any version of firmware; however, patches entered for firmware versions other than V51D are not applied until the matching version of firmware is installed.
HSD50 Array Controller
Installing 3–9
HSD50 Array Controller
To enter any patch, you must first install all patches with lower patch numbers, beginning with patch number 1, for the specific firmware version.
If you incorrectly enter the patch information, you are given the option to review the patch one line at a time.
Type ^Y or ^C (then RETURN) at any time to abort
Code Patch.
Do you wish to continue (y/n) [y] ?
7. Enter the required information as shown:
Version: ? V51D
Length: ? 10
Patch Type: ? 0
Patch Number: ? 1
Count: ? 1
Address: ? 10
Value[ 0] ? 0
Count: ? 0
Verification: ? 18FG2118
The patch you just entered is not applied until the controller is restarted.
Code Patch Main Menu
0: Exit
1: Enter a Patch
2: Delete Patches
3: List Patches
Enter option number (0..3) [0] ?
CLCP - Normal Termination
Restart of the controller required to apply new patch
CLI>
8. If you are using a dual-redundant controller configuration, repeat the
Installing a Patch procedure for the second controller.
Service Manual
3–10 Installing
Code patch messages
The Code Patch utility does not allow you to incorrectly enter or delete patch information. The program provides messages to assist you with understanding any problems that you may encounter and suggests corrective actions.
Message:
Software Version x does not have any patches to delete.
Explanation:
You cannot delete a patch because the software version entered does not have any patches entered.
Message:
Firmware Version x does not have patch number x to delete.
Explanation:
You cannot delete this patch because the software version entered does not have the specified patch entered.
Message:
The patch you entered is already installed on this controller.
Explanation:
The specified patch is already present in the patch area of controller memory. If you wish to reenter this patch, first use the Delete Patch option.
Message:
The patch you are entering requires other patches to be entered.
Explanation:
You have attempted to enter a patch without first entering the lower numbered patches in the hierarchy. Enter all patches for this software version that have lower numbers than the current patch. Then enter the current patch.
Service Manual HSD50 Array Controller
Installing 3–11
HSD50 Array Controller
Message:
WARNING The patch you are entering is not for the current firmware version x.
Explanation:
The patch you are entering applies to a software version other than the one currently installed in the controller. Code Patch will allow you to enter the patch; however, the patch will not be applied until its correct software version is installed.
Message:
You incorrectly entered the patch information.
Explanation:
The patch information was not entered exactly. The program prompts you for each line of the patch entry, with the default from your previous response. Verify that each entry is exactly the same as the patch release. If you choose not to continue, or if you abort during this review procedure, the patch information you entered is lost and you must enter the entire patch again. You may enter Ctrl/Z followed by Return at any prompt to choose the default for the remaining entries.
Message:
The patch you have just entered is not applied until the controller firmware is changed to Version x.
Explanation:
The patch entered applies to a software version other than the one currently installed in the controller. Code Patch will not apply the patch until its correct software version is installed.
Message:
You have requested deletion of a patch number that another patch requires.
Explanation:
You are attempting to delete a patch in the hierarchy that has higher numbered patches entered. Code Patch will allow you to proceed; however, the program will delete all the higher numbered patches in the hierarchy
(for this software version) along with the specified patch.
Service Manual
3–12 Installing
Formatting disk drives
Use HSUTIL’s
FORMAT
_
DISK
option to format simultaneously up to seven disk drives attached to a single controller or up to six disk drives attached to a dual-redundant pair of controllers.
____________________ Caution ____________________
You must suspend all I/O to the buses that service the target disk drives, or the data on those disk drives will be lost.
________________________________________________
To format one or more disk drives:
CLI> RUN HSUTIL
2. Press 1 to select the
FORMAT
function.
HSUTIL finds and displays all of the unformatted disk drives attached to the controller.
3. Enter the name of each disk drive you want to format.
Enter a device to format ?
disk_name
formatting operation.
Select another device (y/n) [n] ? N
5. Read the cautionary information that HSUTIL displays, then confirm or cancel the formatting operation.
Do you want to continue (y/n) [n] ? Y
Considerations for formatting disk drives
Keep the following points in mind for formatting disk drives with HSUTIL:
•
HSUTIL cannot format disk drives that have been configured as single disk drive units or as members of a storageset, spareset, or failedset. If you want to format a disk drive that’s previously been configured as such, you’ll have to delete the unit number and storageset name associated with it.
•
If the power fails or the bus is reset while HSUTIL is formatting a disk drive, the drive may become unusable until a successful format is completed. To minimize this possibility, Digital recommends that you
Service Manual HSD50 Array Controller
Installing 3–13 secure a reliable power source and suspend all non HSUTIL activity to the bus that services the target disk drive.
•
HSUTIL cannot control or affect the defect management for a disk drive. The drive’s microcode controls the defect management during formatting.
•
Don’t invoke any CLI command or run any local program that might reference the target disk drive while HSUTIL is active. Also, don’t initialize either controller in the dual-redundant configuration.
Example
CLI> RUN HSUTIL
*** Available functions are:
0. EXIT
1. FORMAT
2. DEVICE_CODE_LOAD_DISK
3. DEVICE_CODE_LOAD_TAPE
Enter function number (0:3) [0] ? 1
Unattached devices on this controller include:
Device SCSI Product ID Current Device Rev
DISK100 RZ26 (C) DEC T386
DISK200 RZ26 (C) DEC T386
DISK210 RZ29B (C) DEC 0006
DISK310 RZ25 (C) DEC 0900
DISK320 RZ26L (C) DEC X442
Enter a device to format ? disk100
Format DISK100 may take up to 40 minutes to format
Select another device (y/n) [n] Y
Enter a device to format ? disk200
Format DISK200 may take up to 40 minutes to format
Select another device (y/n) [n] Y
Enter a device to format ? disk210
Format DISK210 may take up to 15 minutes to format
Select another device (y/n) [n] N
^Y and ^C will be disabled while the format operation is in progress.
CAUTION:
When you format a device, it will destroy the data on
the device. A backup of the device should have been
done if the data is important.
HSD50 Array Controller Service Manual
3–14 Installing
NOTE:
In order to minimize the possibility of a SCSI bus reset, it is recommended that you prevent non-HSUTIL
IO operations to all other devices on the same port as the destination device(s). If a SCSI bus reset occurs, the format may be incomplete and you may have to re-invoke HSUTIL.
After you answer the next question, the format will start. Do you want to continue (y/n) [n] ? Y
HSUTIL started at: 14-JUN-1996 15:00:31
Format of DISK100 finished at 14-JUN-1996 16:40:12
Format of DISK200 finished at 14-JUN-1996 17:15:31
Format of DISK210 finished at 14-JUN-1996 16:30:43
HSUTIL - Normal Termination at 14-JUN-1996 16:31:09
Service Manual HSD50 Array Controller
Installing 3–15
Installing new firmware on a device
Installing new firmware on a disk or tape drive is a two-step process as shown in Figure 3–3. First, you copy the new firmware from your host to a disk drive in your subsystem, then use HSUTIL to distribute the firmware to devices in your subsystem.
Figure 3–3 Copy the firmware to a disk drive in your subsystem, then distribute it to the devices you want to upgrade.
HSD50 Array Controller
CXO-5259A-MC
Service Manual
3–16 Installing
Considerations for installing new device firmware
Keep the following points in mind while using HSUTIL to install new firmware on a device:
•
Installing new firmware with HSUTIL has been thoroughly tested with the qualified devices listed in the release notes. HSUTIL doesn’t prevent you from attempting to install new firmware on unsupported devices but, if the installation fails, the device may be rendered unusable and require the manufacturer’s attention.
•
If the power fails or the bus is reset while HSUTIL is installing the new firmware, the device may become unusable. To minimize this possibility, Digital recommends that you secure a reliable power source and suspend all non HSUTL activity to the bus that services the target device.
•
HSUTIL cannot install firmware on devices that have been configured as single disk drive units or as members of a storageset, spareset, or failedset. If you want to install firmware on a device that’s previously been configured as such, you’ll have to delete the unit number and storageset name associated with it.
•
The source disk drive that contains the new firmware to be downloaded must be configured as a single disk drive unit within your subsystem.
•
During the installation, the source disk drive is not available for other subsystem operations.
•
Some firmware releases require that you format the device after installing the new firmware. Refer to the documentation that accompanied the firmware to determine if you need to reformat the device after installing new firmware.
•
Some devices may not reflect the new firmware version number, etc.
when viewed from another controller (in dual-redundant configurations). If you experience this, simply re-initialize the device from either controller.
Service Manual HSD50 Array Controller
Installing 3–17
Copying the firmware to your subsystem
Before you can install new firmware on a device, you need to copy its image to a single disk drive unit in a StorageWorks subsystem. You can use this disk drive in other StorageWorks subsystems to install firmware on other devices in those subsystems.)
The single disk drive unit may be a raw disk drive with no file system or label, or it may be a normal file-system disk drive. In either case, the firmware must be copied in contiguous blocks beginning at a known logical block number (LBN). The steps for copying the firmware are specific to your host’s operating system and are given below.
From OpenVMS
To copy one or more firmware files from your OpenVMS host to a single disk drive unit in your subsystem:
1. Add a disk drive to your subsystem.
CLI> ADD DISK
disk-name PTL-location
2. Configure the disk drive as a single disk drive unit. See Working with
HSD50 units in «Interface» for the appropriate unit-number syntax.
CLI> ADD UNIT
unit-number disk-name
3. From a OpenVMS account, copy (contiguously) the firmware from your host to the single disk drive unit.
$ COPY/CONTIGUOUS
firmware unit-number:[000000]
Repeat this step to copy more than one firmware image to the single disk drive unit. To find the starting LBN of each firmware image:
$ DUMP/HEAD/BLOCK=COUNT=0 $2$DUA300:[000000]*.FUP
4. Copy the firmware onto the target devices in your subsystem.
Example
$ COPY/CONT
BABAGI::LCA:[FIRMWARE.RZ2X]RZ29B_DEC_0014.LOD-
$2$DUA300:[000000]
$ COPY/CONT
BABAGI::LCA:[FIRMWARE.RZ2X]RZ28P4_42C_DEC.FUP-
$2$DUA300:[000000]
$ DUMP/HEAD/BLOCK=COUNT=0 $2$DUA300:[000000]*.LOD
.
.
HSD50 Array Controller Service Manual
3–18 Installing
.
$2$DUA30:[000000] RZ29B_DEC_0014.LOD LBN: 8
$ DUMP/HEAD/BLOCK=COUNT=0 $2$DUA300:[000000]*.FUP
.
.
.
$2$DUA300:[000000]RZ28P4_42C_DEC.FUP LBN: 520
Installing the firmware onto a target device
Use HSUTIL’s
DEVICE
_
CODE
_
LOAD
_
DISK
option to update a disk drive by installing new firmware. Use the
DEVICE
_
CODE
_
LOAD
_
TAPE
option to update a tape drive. In both cases, the disk drive that contains the new firmware and the device onto which you’re installing it must be configured on the controller from which you’re running HSUTIL.
____________________ Caution ____________________
Suspend all non-HSUTIL I/O to the buses that service source disk drive and the target device.
Loading the incorrect firmware can disable the destination device. If a failure occurs while loading drive memory, the destination device could be disabled.
________________________________________________
To install new device firmware:
1. In dual-redundant configurations, you should shut down the controller that you won’t be using for the installation and eject its program card by pressing in and holding the Reset (//) button, then pressing the eject button next to the program card. Reinstall the program card and restart the controller after you’ve finished installing the firmware.
CLI> RUN HSUTIL
3. Press 2 to select
DEVICE
_
CODE
_
LOAD
_
DISK
or 3 to select the
DEVICE
_
CODE
_
LOAD
_
TAPE
. HSUTIL finds and displays all of the disk drives that may contain the new firmware for your device.
4. Enter the unit number of the disk drive that actually contains the firmware.
Which unit is the code to be loaded from ?
unitnumber
Service Manual HSD50 Array Controller
Installing 3–19
5. Enter the starting LBN of the firmware. In most cases, you can accept the default (0).
What is the starting LBN of the code on the unit where the code is to be loaded FROM [0] ? 0
6. Enter the product ID of the device that you’re updating. Enter this information exactly as it appears in the
SHOW command output.
What is the SCSI PRODUCT ID of the device that you want code load TO ?
Product-ID
7. Enter the name of the target device.
Which device is the code to be loaded TO ?
devicename
8. Read the cautionary information that HSUTIL displays, then confirm or cancel the load.
Do you want to continue (y/n) [n] ? Y
9. When HSUTIL terminates, verify the new firmware revision level.
CLI> SHOW
device-name
Example
CLI> RUN HSUTIL
*** Available functions are:
0. EXIT
1. FORMAT
2. DEVICE_CODE_LOAD_DISK
3. DEVICE_CODE_LOAD_TAPE
Enter function number (0:3) [0] ? 3
Available single device units on this controller include:
Unit Associated Device SCSI Product ID Current Device Rev
625 DISK250 RZ28(C) DEC T436
613 DISK130 RZ25(C) DEC 0700
Which unit is the code to be loaded from ? 625
What is the starting LBN [0] ? 0
What is the SCSI PRODUCT ID of the device that you want code load TO ? TZ867
HSD50 Array Controller Service Manual
3–20 Installing
Unattached devices on this controller include:
Device SCSI Product ID Current Device Rev
TAPE100 TZ867 4318
Which device is the code to be loaded TO ? tape100
The tape cartridge must be removed to update the tape drive firmware. The cartridge is in the drive.
Please unload.
Is the cartridge loaded (y/n) [n] ? n
^Y and ^C will be disabled while the code load operation is in progress.
CAUTION:
Loading the incorrect firmware can disable the
destination device. If a failure occurs while loading
drive memory, the destination device could be
disabled.
NOTE:
In order to minimize the possibility of a SCSI bus
reset, which could disable the destination device, it
is recommended that you prevent non-HSUTIL IO
operations to all other devices on the same port as
the destination device.
After you answer the next question, the code load will start. Do you want to continue (y/n) [n] ? Y
HSUTIL is doing code load. Please be patient.
Device code has been successfully downloaded to device
TAPE100
HSUTIL - Normal Termination at 14-FEB-1997 16:31:09
Service Manual HSD50 Array Controller
Installing 3–21
HSUTIL abort codes
If HSUTIL terminates before it formats a disk drive or installs new firmware, it reports one of the abort codes in Table 3–1.
Table 3–1 Abort codes
Abort code
1
4
5
6
2
3
Description
FAO returned either FAO_BAD_FORMAT or
FAO_OVERFLOW
Bad return from TS$READ_TERMINAL_DATA
TS$READ_TERMINAL_DATA returned either an
ABORTED or INVALID_BYTE_COUNT
User requested an abort via ^Y or ^C
An error occurred on a SCSI command
Can’t find the PUB, device is probably missing
HSUTIL messages
HSUTIL may produce one or more of the following messages while you’re formatting disk drives or installing new firmware. Many HSUTIL messages have been omitted from this section since they are self-explanatory.
Message:
Insufficient resources
Explanation:
HSUTIL cannot find or perform the operation because internal controller resources are not available.
Message:
Unable to change operation mode to maintenance for unit unit_number
Explanation:
HSUTIL was unable to put the source single disk drive unit into maintenance mode to enable formatting or code load.
HSD50 Array Controller Service Manual
3–22 Installing
Service Manual
Message:
Unit unit_number successfully allocated
Explanation:
HSUTIL has allocated the single disk drive unit for code load operation. At this point, the unit and its associated device are not available for other subsystem operations.
Message:
Unable to allocate unit
Explanation:
HSUTIL could not allocate the single disk drive unit. An accompanying message explains the reason.
Message:
Unit is owned by another sysap
Explanation:
Device cannot be allocated because it is being used by another subsystem function or local program.
Message:
Unit unit_number is in maintenance mode
Explanation:
Device cannot be formatted or code loaded because it is being used by another subsystem function or local program.
Message:
Unit unit_number is allocated to other controller, please re-invoke HSUTIL from the other controller or make the unit allocated to this controller by one of the following commands:
SET THIS PREFERRED ID=(unit’s target ID).
SET OTHER NOPREFERRED_ID.
Explanation:
The device shown is still under the control of the companion controller.
Follow the recommended steps to run HSUTIL.
HSD50 Array Controller
Installing 3–23
Message:
CAUTION:
In order to minimize the possibility of a SCSI bus reset, which could disable the destination device, it is recommended that you prevent IO operations to all other devices on the same port as the destination device.
Explanation:
(Displayed in code load only.) A SCSI bus reset can occur if the controller is manually initialized or if it detects an error during normal subsystem operation. The more active devices there are on the same port as the target device, the greater the chance that an error causing a SCSI bus reset may occur. By minimizing the level of activity on the device port being used for code loading, the user minimizes the chances of a SCSI bus reset that could render a target device unusable.
Message:
Exclusive access is declared for unit unit_number
Explanation:
Another subsystem function has reserved the unit shown.
Message:
The other controller has exclusive access declared for unit unit_number
Explanation:
The companion controller has locked out this controller from accessing the unit shown.
Message:
The RUNSTOP_SWITCH is set to RUN_DISABLED for unit unit_number
Explanation:
The RUN\NORUN unit indicator for the unit shown is set to NORUN. The disk is not spun up.
HSD50 Array Controller Service Manual
3–24 Installing
Service Manual
Message:
No available unattached devices.
Explanation:
The program could find no unattached devices to list.
Message:
What BUFFER SIZE, (KB) 1024, does the drive require
(2,4,8,16,32) [8] ?
Explanation:
This message is displayed if HSUTIL detects that an unsupported device has been selected as the target device and if you’re downloading the firmware image using more than one SCSI Write Buffer command. You must specify the number of bytes to be sent in each Write Buffer command.
The default buffer size is 8192 bytes. A firmware image of 256 KB, for example, can be code loaded in 32 Write Buffer commands, each transferring 8192 bytes. In this example, the correct entry for the buffer size would be “8.”
Message:
What is the TOTAL SIZE of the code image in 512 byte blocks [MAX 512] ?
Explanation:
This message is displayed if HSUTIL detects that an unsupported device has been selected as the target device. You must enter the total number of
512-byte blocks of data to be sent in the code load operation. For example, a firmware image that is 262,144 bytes long would require 512, 512-byte blocks.
Message:
Does the target device support only the download microcode and SAVE (y/n) [y] ?
Explanation:
This message is displayed if HSUTIL detects that an unsupported device has been selected as the target device. You must specify whether or not the device supports the SCSI Write Buffer command’s
DOWNLOAD AND SAVE function.
HSD50 Array Controller
Installing 3–25
Message:
Should the code be downloaded with a single write buffer command (y/n) [y] ?
Explanation:
This message is displayed if HSUTIL detects that an unsupported device has been selected as the target device. You must indicate whether to download the firmware image to the device in one or more contiguous blocks, each corresponding to one SCSI Write Buffer command.
Installing a controller and cache module (single controller configuration)
Use the following procedure to install a controller and its power supplies into an empty controller shelf for the first time.
Required tools
The tools listed in Table 3–2 are required for the installation of controllers:
Table 3–2 Required tools for controller installation
Required tools
Maintenance terminal
ESD wrist strap
5/32-inch Allen wrench
Flat-head screwdriver
Purpose
To set controller parameters
To protect all equipment against electrostatic discharge
To unlock the SW800 series cabinet
To loosen controller mounting screws, and to disconnect the CI cable
HSD50 Array Controller Service Manual
3–26 Installing
1. Using Table 3–3 as a guide, determine the slot and the SCSI ID into which the controller is to be installed. Note that the first controller should be installed in the slot that corresponds to SCSI ID 7.
Controller
First
Controller
Second
Controller
Table 3–3 Controller installation guide
SW800
Front View
Right Side
SCSI ID 7
Left Side
SCSI ID 6
SW800
Rear View
Left Side
SCSI ID 7
Right Side
SCSI ID 6
SW500
Front &
Rear View
Top Slot
SCSI ID 7
Bottom Slot
SCSI ID 6
SW300
Bottom Slot
SCSI ID 7
Top Slot
SCSI ID 6
2. Connect a maintenance terminal to the controller. See Figure 3–4.
Figure 3–4 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
3. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
4. Attach or clip the other end of the ESD strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
Service Manual HSD50 Array Controller
Installing
5. Install an SBB battery module into a convenient device slot. See
Figure 3–5.
Figure 3–5 Installing an SBB battery module
3–27
HSD50 Array Controller
CXO-5306A-MC
6. Install the controller power supplies into the controller shelf. See
Figure 3–6.
Figure 3–6 Installing power supplies into the controller shelf
CXO-5304A-MC
Service Manual
3–28 Installing
7. Slide the cache module into the controller shelf. Push the module firmly into the slot until it is seated. See Figure 3–7.
Figure 3–7 Installing a single controller (SW500 cabinet)
1
Cache module
1 2 3 4 5 6
Service Manual
2
Controller
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5283A-MC
8. Install the controller module into the shelf slot that corresponds to SCSI
ID7. See Figure 3–7 and Figure 3–8.
HSD50 Array Controller
Installing
Figure 3–8 Installing a single controller (SW800 cabinet)
3–29
POWER
SUPPLY
(2X)
HSD50 Array Controller
FIRST
CONTROLLER
BA350-M
SHELF
CXO-5006A-MC
___________________ Caution _____________________
To avoid the possibility of short circuit or electrical shock, do not allow the free end of an ECB cable attached to a cache module to make contact with a conductive surface.
________________________________________________
9. Connect the battery cable to the cache module and then to the ECB.
10. Unsnap and remove the program card ESD cover.
11. Remove the program card from the controller by pressing in and holding the Reset (//) button, then pressing the eject button next to the program card.
12. Connect the power cords to the controller power supplies.
Service Manual
3–30 Installing
13. Press and hold the Reset button (//) while inserting the program card.
Release the Reset button. The controller will initialize and perform all internal self tests.
When the reset light flashes at a rate of once every second, the initialization process is complete.
14. Snap the ESD cover into place over the program card. Push the pins inward to lock the cover into place.
15. Connect the trilink connector with host cable and terminator.
16. Check the ECB status indicator for one of the indications shown in
Table 3–4.
Table 3–4 ECB status indications
LED status
LED is on continuously
LED blinks rapidly
LED blinks slowly
LED is off
Battery status
System power is on and the ECB is fully charged.
System power is on and the ECB is charging.
System power is off and the ECB is supplying power to the cache.
System power is off and the ECB is not supplying power to the cache.
17. Enable the write-back cache at the CLI:
CLI> SET unit name WRITEBACK_CACHE
Installing a second controller and cache module
This procedure may be used to install a second controller and cache module for redundancy. Service to the subsystem during this procedure is halted.
Use this procedure if you prefer not to use the C_Swap utility.
Required tools
The tools listed in Table 3–5 are required for the installation of a second controller and cache module:
Service Manual HSD50 Array Controller
Installing 3–31
Table 3–5 Required tools
Required tools
Maintenance terminal
ESD wrist strap
5/32-inch Allen wrench
Flat-head screwdriver
Purpose
To set controller parameters.
To protect all equipment against electrostatic discharge
To unlock the SW800 series cabinet
To loosen controller mounting screws, and to disconnect SCSI cables
Adding the second controller:
1. Connect a maintenance terminal to the operating controller. See Figure
3–9.
Figure 3–9 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
HSD50 Array Controller
2. At the operating controller’s terminal enter:
CLI> SHOW THIS_CONTROLLER
The controller will display the following information (this is a sample only):
Controller:
HSD50 ZG34901786 Firmware V05.1-0, Hardware BX11
Not configured for dual-redundancy
SCSI address 7
Service Manual
3–32
Service Manual
Installing
Time: 15 FEB-1997 16:32:54
Host port:
Node name: HSDA1, valid CI node 21, 32 max nodes
Path A is on
Path B is on
MSCP allocation class 3
TMSCP allocation class 3
CI_ARBITRATION = SYNCHRONOUS
MAXIMUM HOSTS =9
NOCI_4K_PACKET _CAPABILITY
Cache:
128 megabyte write cache, version 3
Cache is GOOD
Battery is good
No unflushed data in cache
CACHE_FLUSH TIMER = DEFAULT (10 seconds)
CACHE_POLICY = B
NOCACHE_UPS
3. Note the type, memory size and version of cache that is installed with the first controller.
4. If a cache module is present with the first controller, prepare another one of the same type, memory size and version for installation with the second controller. An ECB (external cache battery) must also be installed.
5. Use the procedures appropriate to your host operating system to halt
host activity on your subsystem.
6. At the CLI prompt, enter:
CLI> SHUTDOWN THIS_CONTROLLER
When you enter the
SHUTDOWN
command, do not specify any optional qualifiers. The default qualifiers do not allow the controller to shut down until data is completely and successfully stored on the appropriate storage devices.
7. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
8. Attach or clip the other end of the ESD strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
HSD50 Array Controller
Installing 3–33
9. Disconnect power cords from controller power supplies.
If you do not already have a second controller power supply, this may be the time to add one.
10. Using Table 3–6 as a guide, find the slot and the SCSI ID into which the controller is to be installed. Note that the second controller should be installed in the slot that corresponds to SCSI ID 6.
Table 3–6 Controller installation guide
Controller
First
Controller
Second
Controller
SW800
Front View
Right Side
SCSI ID 7
Left Side
SCSI ID 6
SW800
Rear
View
Left Side
SCSI ID 7
Right Side
SCSI ID 6
SW500
Front &
Rear View
Top Slot
SCSI ID 7
Bottom Slot
SCSI ID 6
SW300
Bottom Slot
SCSI ID 7
Top Slot
SCSI ID 6
11. Install an SBB battery module into a convenient device slot. See
Figure 3–10.
If you are replacing a single ECB with dual ECB, follow these steps: a) Press the shutdown button on the single ECB until the LED stops flashing.
b) Remove the ECB cable from the single ECB.
c) Remove the single ECB from the device slot.
d) Install the dual ECB into the device slot.
HSD50 Array Controller Service Manual
3–34
Figure 3–10 Installing an SBB Battery module
Installing
CXO-5306A-MC
Service Manual HSD50 Array Controller
Installing 3–35
12. Slide the cache module into the appropriate slot in the controller shelf.
Push the module firmly into the slot until it is seated. See Figure 3–11.
Figure 3–11 Installing the second controller and cache module
1
Cache module
1 2 3 4 5 6
HSD50 Array Controller
2
Controller
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5283A-MC
13. Slide the controller module into the appropriate slot. Push the module firmly into the slot until it is seated.
14. Tighten the front panel captive screws on the cache and the controller modules.
Service Manual
3–36 Installing
15. Connect the battery cable to the cache module and then the ECB.
For dual ECB SBBs: a) Connect one end of a battery cable to ECB A and the other end to cache module A.
b) Connect one end of a battery cable to ECB B and the other end to cache module B.
16. Reconnect power cords to the controller power supplies.
17. Unsnap and remove the program card ESD cover.
18. Remove the program card from the controller by pressing in and holding the Reset (//) button, then pressing the eject button next to the program card.
19. Press and hold the Reset button (//) while reinserting the program card.
Release the Reset button. The controller will initialize and perform all internal self tests. See Figure 3–12.
Figure 3–12 Inserting the program card
1
1 2 3 4 5 6
PCMCIA card
Orientation dot
2
1 2 3 4 5 6
Service Manual
ESD cover
CXO-5303A-MC
HSD50 Array Controller
Installing 3–37
When the reset LED flashes at a rate of once every second, the initialization process is complete. If the controller fails to initialize, an
OCP code will be displayed.
20. Snap the ESD cover into place over the program card. Push inward to lock the cover into place.
___________________ Caution _____________________
Ensure the version level of the software in the program card is the same as that in the existing controller. A mismatch in the firmware levels may cause unpredictable controller operation.
________________________________________________
21. Connect the trilink with host cable and terminator to the controller.
22. From the maintenance terminal that is still connected to the first controller, place the two controllers in the dual-redundant mode by entering the following command:
CLI> SET FAILOVER COPY=THIS_CONTROLLER
The two controllers are now in a dual-redundant configuration.
23. Check the front panel ECB status indicator for one of the indications shown in Table 3–7.
Table 3–7 ECB status indicators
LED Status
LED is on continuously
LED blinks rapidly
LED blinks slowly
LED is off
Battery Status
System power is on and the ECB is fully charged.
System power is on and the ECB is charging.
System power is off and the ECB is supplying power to the cache.
System power is off and the ECB is not supplying power to the cache.
HSD50 Array Controller Service Manual
3–38 Installing
Adding a second controller using C_SWAP
You can add a second controller to a single controller configuration to create a dual-redundant configuration. There are two procedures for adding a second controller: an online method using the C_SWAP utility in which the existing controller continues to process I/O, and an offline method in which you must shut down the existing controller (see previous procedure).
To add a controller module using the online (C_SWAP) method, your system must have two power supplies in the controller shelf of an SW500 or
SW800 cabinet. If you are adding a second controller in an SW300 cabinet, your cabinet must have a minimum of five power supplies.
The following steps guide you through the online method using the
C_SWAP utility.
Required tools
The tools listed in Table 3–8 are required for adding a second controller.
Table 3–8 Required tools for adding a second controller
Required tools
Maintenance terminal and cable
ESD wrist strap and ESD mat
3/32-inch Allen wrench
5/32-inch Allen wrench
Purpose
To change controller parameters
To protect all equipment against electrostatic discharge
To loosen the controller mounting screws; to reinstall the controller
To unlock the SW800-series cabinet
____________________ Caution ____________________
Before starting the C_SWAP utility, terminate all other running utilities and disable all other terminals.
________________________________________________
Prepare the subsystem
1. Have the new module at hand. The module should be factory-fresh or should have been shut down cleanly (with the
SHUTDOWN command) in its last application.
2. Connect a maintenance terminal to the existing controller. See Figure
3–13.
Service Manual HSD50 Array Controller
Installing 3–39
Figure 3–13 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
3. Show the configuration of the existing controller:
CLI> SHOW THIS_CONTROLLER
Controller:
HSD50-AA ZG34901786 Firmware V05.1, Hardware AX11
Not configured for dual-redundancy
SCSI address 7
Time: 15 FEB-1997 16:32:54
Host port:
Node name: HSDA1, valid DSSI node 0
Host path is ON
MSCP allocation class 3
TMSCP allocation class 3
MAXIMUM HOSTS =4
Cache:
128 megabyte write cache, version 3
Cache is GOOD
Battery is good
No unflushed data in cache
CACHE_FLUSH TIMER = DEFAULT (10 seconds)
CACHE_POLICY = B
NOCACHE_UPS
4. Note the size of the cache module that is installed with the first controller.
HSD50 Array Controller Service Manual
3–40
Service Manual
Installing
5. If a cache module is present at the first controller, prepare another one of the same size for installation with the second controller.
6. Insert the SBB battery module that was shipped with your controller into an existing device slot.
If you are replacing a single ECB with dual ECB, follow these steps: a) Press the shutdown button on the single ECB until the LED stops flashing.
b) Remove the ECB cable from the single ECB.
c) Remove the single ECB from the device slot.
d) Install the dual ECB into the device slot.
7. Start the C_SWAP program:
CLI> RUN C_SWAP
8. When the controller prompts you, answer the question:
Do you have a replacement HSD readily available?
[N] ? y
10. Answer the question:
***Sequence to INSERT the other HSD has begun.***
Do you wish to INSERT the other HSD y/n?
11. Press Y for yes.
12. Wait for the following text to appear on the operating controller’s console:
Attempting to quiesce all ports.
Port 1 quiesced
Port 2 quiesced
Port 3 quiesced
Port 4 quiesced
Port 5 quiesced
Port 6 quiesced
All ports quiesced.
Insert the other HSD50 WITHOUT its program card, and press Return.
13. If you are installing a new cache module, slide it straight in along the rails and then push firmly to seat it in the backplane.
HSD50 Array Controller
Installing 3–41
14. Check the new controller to make sure that the program card is not installed. If it is installed, take the card out by removing the ESD cover, pressing in and holding the Reset (//) button, and then pressing the eject button next to the card.
15. Install the controller module. Slide the module straight in along the rails and then push firmly to seat it in the backplane.
___________________ Caution _____________________
Do not overtighten the controller’s front panel captive screws, the cache module’s front panel captive screws, or the ECB cable captive screws. Damage to the controller PC board or front panel, the cache module front panel, or the SBB may result.
________________________________________________
16. Tighten the front panel captive screws on the cache and the controller modules.
17. Connect the battery cable to the cache module and then to the ECB.
For dual ECB SBBs: a) Connect one end of a battery cable to ECB A and the other end to cache module A.
b) Connect one end of a battery cable to ECB B and the other end to cache module B.
18. Press Return on the operating controller’s console.
19. Wait for the following text to be displayed on the operating controller’s console:
Port 1 restarted
Port 2 restarted
Port 3 restarted
Port 4 restarted
Port 5 restarted
Port 6 restarted
Controller Warm Swap terminated.
The configuration has two controllers
To restart the other HSD50
1) Enter the command RESTART OTHER_CONTROLLER
2) Press and hold in the Reset (//) button while inserting the program card.
HSD50 Array Controller Service Manual
3–42 Installing
3) Release Reset (//); the controller will initialize.
4) Configure new controller by referring to controller’s user guide
Restarting the subsystem
1. Restart the new controller:
CLI> RESTART OTHER_CONTROLLER
2. Connect the maintenance terminal to the newly installed controller.
3. Press and hold the Reset button (//) on the new controller while inserting the program card from the new controller.
4. Release the Reset button to initialize the controller. Wait for the CLI prompt to appear at the terminal. You will see a “Controllers misconfigured” message, which you can ignore.
5. If the new controller reports an invalid cache error, enter the following
CLI command to clear the error:
CLI> CLEAR_ERRORS INVALID_CACHE THIS_CONTROLLER
DESTROY_UNFLUSHED_DATA
6. Ensure that the new controller is not in dual-redundant mode by entering the following command on the new controller:
CLI> SET NOFAILOVER
If the controller was already in nonredundant mode, you will see a message indicating this condition.
7. Enter the following command from the new controller CLI to put the controllers into dual-redundant mode:
CLI> SET FAILOVER COPY=OTHER_CONTROLLER
8. The new controller will initialize.
9. Verify that all host settings are correct:
CLI> SHOW THIS_CONTROLLER
10. After the controller has initialized, connect the trilink adapter to the new controller and tighten the captive screws.
11. Enable the path by entering the following command:
CLI> SET THIS_CONTROLLER PATH
Service Manual HSD50 Array Controller
Installing 3–43
Installing a cache module
This procedure contains information for installing cache modules. The controller modules are seated in front of the cache module. Any time you add a cache module, the controller module has to be removed first.
Service to the devices is interrupted during the installation procedure.
Required tools
The tools listed in Table 3–9 are required for the installation of a cache module:
Table 3–9 Required tools for cache module installation
Required tools
Maintenance terminal
ESD wrist strap
ESD Mat
5/32-inch Allen wrench
Flat-head screwdriver
Purpose
To set controller parameters.
To protect all equipment against electrostatic discharge
To protect the controller and cache modules
To unlock the SW800-series cabinet
To loosen controller mounting screws, and to disconnect CI cable
To install cache modules:
The following procedure describes how to install write-back cache modules in single controller configurations. For dual -redundant configurations, use the Adding a second controller using C_Swap procedure.
Removing the controller
1. Connect a maintenance terminal to the controller. See Figure 3–14.
HSD50 Array Controller Service Manual
3–44 Installing
Figure 3–14 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
2. Halt all host I/O activity using the appropriate procedure for your operating system.
3. At the CLI prompt, enter:
CLI> SHUTDOWN THIS_CONTROLLER
4. After the controller has shut down, remove the maintenance terminal cable and remove power cables from the controller shelf.
5. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
6. Attach or clip the other end of the ESD strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
7. With a small flat-head screw driver, loosen the captive screws on the trilink connector of the controller. Do not disconnect the host cable from the trilink connector. See Figure 3–15.
Service Manual HSD50 Array Controller
Installing
Figure 3–15 Disconnecting the trilink adapter
Host port connector with mating guide
Controller
3–45
HSD50 Array Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
8. Use a gentle rocking motion to loosen the controller modules.
9. Slide the controller modules out of the shelf and place them on an ESD mat. See Figure 3–16.
Figure 3–16 Removing controller modules
Blank panel
Controller
1 2 3 4 5 6
1 2 3 4 5 6
CXO-5305A-MC
Service Manual
3–46 Installing
Installing a write-back cache module
1. Install the SBB battery module into a convenient device shelf slot. See
Figure 3–17.
If you are replacing a single ECB with dual ECB, follow these steps: a) Press the shutdown button on the single ECB until the LED stops flashing.
b) Remove the ECB cable from the single ECB.
c) Remove the single ECB from the device slot.
d) Install the dual ECB into the device slot.
Figure 3–17 Installing an SBB battery module
Service Manual
CXO-5306A-MC
______________________Note _____________________
If you are installing write-back cache modules in a dualredundant configuration, make sure that both cache modules are of the same type and have the same memory capacity.
________________________________________________
2. Slide the write-back cache module into the appropriate slot. Push the module firmly into the slot until it is seated. See Figure 3–18.
HSD50 Array Controller
Installing
Figure 3–18 Installing the cache and controller modules
3–47
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
HSD50 Array Controller
1 2 3 4 5 6
CXO-5283A-MC
3. Reinstall the controller module into its original slot. Push the module firmly into the slot until it is seated. See Figure 3–18.
4. Tighten the front panel captive screws on the controller and cache module. Do not over tighten.
5. Connect the ECB battery cables starting at the cache modules.
For dual ECB SBBs: a) Connect one end of a battery cable to ECB A and the other end to cache module A.
b) Connect one end of a battery cable to ECB B and the other end to cache module B.
6. Reinstall the trilink adapter at the controller’s front bezel.
Service Manual
3–48 Installing
Restarting the subsystem
1. Unsnap and remove the program card ESD cover.
2. Remove the program card from the controller by pressing in and holding the Reset (//) button, then pressing the eject button next to the program card.
Figure 3–19 Removing the program card
1
1 2 3 4 5 6
ESD cover
Service Manual
2
1 2 3 4 5 6
PCMCIA card
Eject button
CXO-5302A-MC
3. Reconnect power cords to the controller power supplies.
4. Press and hold the Reset button (//) on each controller while reinserting the program card. Release the Reset button. The controller will initialize and perform all internal self tests. See Figure 3–20.
HSD50 Array Controller
Installing
Figure 3–20 Installing the program card
1
1 2 3 4 5 6
PCMCIA card
Orientation dot
3–49
HSD50 Array Controller
2
1 2 3 4 5 6
ESD cover
CXO-5303A-MC
When the reset LED on each controller flashes at a rate of once every second, the initialization process is complete.
5. Snap the ESD cover into place over each program card. Push the pins inward to lock the covers in place.
6. Reconnect the maintenance terminal.
7. At the controllers, check for the new write-back cache:
CLI> SHOW THIS_CONTROLLER
Notice that the new write-back cache is reported on
THIS
_
CONTROLLER
.
8. Enable write-back cache on specific units using the command:
CLI> SET
unit name WRITEBACK_CACHE
Service Manual
3–50 Installing
Adding Cache Memory
This procedure contains information for increasing cache memory. You may increase cache memory up to a maximum of 128 MB (in 4x32MB
SIMM cards).
The controller module is seated in front of the cache module. Any time the cache module requires service, the controller module has to be removed first.
Service to the devices is interrupted during the upgrade procedures.
Required Tools
Table 3–10 Required tools
The tools listed in Table 3–10 are required for the upgrading of cache modules:
Required tools
Maintenance terminal
ESD wrist strap and ESD mat
Small flat head screwdriver
Purpose
To change controller parameters
To protect all equipment against ESD
5/32-Allen wrench
To loosen CI cable, and front bezel captive screws
To unlock the SW800 - Series cabinet
Installing SIMM Cards
The following procedure shows how to install SIMM cards to increase write-back cache capacity in single and dual-redundant controller configuration.
Service Manual HSD50 Array Controller
Installing 3–51
1. Connect a maintenance terminal to the controller. See Figure 3–21.
Figure 3–21 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
HSD50 Array Controller
BC16E-XX
To terminal
CXO-5292A-MC
2. Take the single controller out of service:
CLI> SHUTDOWN THIS_CONTROLLER
3. If you are working with a dual redundant configuration, take both controllers out of service.
CLI> SHUTDOWN OTHER_CONTROLLER
CLI> SHUTDOWN THIS_CONTROLLER
To ensure that the controller has shut down cleanly, check the OCP for the following indications:
– The Reset (//) LED is continuously lit.
– Port LEDs 1, 2, 3, are also lit continuously.
4. After the controllers have shut down, remove the maintenance terminal cable and remove the power cords from the controller power supplies.
5. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
6. Attach or clip the other end of the ESD strap to the cabinet grounding stud or a convenient cabinet grounding point (nonpainted surface).
7. Disable the ECB by pressing the battery disable switch on the battery module’s front panel.
Service Manual
3–52 Installing
8. Loosen the captive screws on the controller’s front bezel.
____________________ Caution ____________________
To avoid the possibility of short circuit or electrical shock, do not allow the free end of an ECB cable attached to a cache module to make contact with a conductive surface.
________________________________________________
9. Disconnect the ECB cable from the SBB battery module.
10. With a small flat-head screw driver, loosen the captive screws on the trilink adapter of each controller and remove the trilink adapters. Do not remove the host cables from the trilink adaptors. See Figure 3–22.
Figure 3–22 Disconnecting the trilink
Host port connector with mating guide
Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
11. Use a gentle rocking motion to loosen the controller modules.
Service Manual HSD50 Array Controller
Installing 3–53
12. Slide the controller modules out of the shelf and place them on a ESD mat. See Figure 3–23.
Figure 3–23 Removing controller and cache modules
1
Controller
1 2 3 4 5 6
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
13. Remove the cache modules from the controller shelf.
CXO-5284A-MC
HSD50 Array Controller Service Manual
3–54 Installing
14. Refer to Table 3–11 and install as many SIMM cards into each cache module as are required (up to 4x32MB maximum). The cache board is marked by SIMM slot numbers as shown in Table 3–11.
Table 3–11 Adding cache memory capacity
Cache size
32Mb
64Mb
128Mb
SIMM slot # occupied
SIMM 1
SIMM 1+2
SIMM 1+2+3+4
Figure 3–24 shows all possible cache configurations.
Figure 3–24 Cache configurations for cache version 3
SIMM 1
SIMM 2
SIMM 3
SIMM 4
SIMM 1
SIMM 2
SIMM 3
SIMM 4
SIMM 1
SIMM 2
SIMM 3
SIMM 4
32 MB configuration 64 MB configuration 128 MB configuration
CXO-5361A-MC
15. Reinstall the cache modules into the controller shelf.
16. Reinstall the controller modules into their original slots. Use a gentle rocking motion to help seat the module. If you are using a single controller configuration, use the slot that is designated SCSI ID 7. See
Figure 3–25.
Service Manual HSD50 Array Controller
Installing
Figure 3–25 Installing the controller and cache module
3–55
1
Cache module
1 2 3 4 5 6
2
Controller
1 2 3 4 5 6
HSD50 Array Controller
1 2 3 4 5 6
CXO-5283A-MC
___________________ Caution _____________________
Do not overtighten the front panel captive screws. Damage to the controller PC board or front panel may result.
________________________________________________
17. Connect one end of the battery cable to the cache module and the other end to the ECB.
18. Tighten the ECB cable mounting screws.
19. Tighten the two front panel captive screws on the cache module and the two captive screws on the controller module.
20. Remove the program cards from each controller. See Figure 3–26.
Service Manual
3–56
Figure 3–26 Removing the program card
Installing
1
1 2 3 4 5 6
ESD cover
Service Manual
2
1 2 3 4 5 6
PCMCIA card
Eject button
CXO-5302A-MC
21. Reconnect the power cords to the controller power supplies.
22. Press and hold the Reset button (//) on each controller while pushing in the program card.
23. The controllers will initialize.
When the reset light on each controller flashes at a rate of once every second, the initialization process is complete.
24. Snap the ESD cover into place over each program card. Push the pins inward to lock the covers in place.
HSD50 Array Controller
Installing 3–57
25. To check cache capacity of the modules, attach a maintenance terminal to one of the controllers. At the CLI prompt type:
CLI> SHOW THIS_CONTROLLER
The controller will report the following information:
Controller:
HSD50-AA ZG34901786 Firmware V05.1-0, Hardware AX11
Configured for dual-redundancy with ZG61000012
In dual-redundant configuration
SCSI address 7
Time: 15 FEB-1997 16:32:54
Host port:
Node name: HSDA1, valid DSSI node 0
Host path is ON
MSCP allocation class 3
TMSCP allocation class 3
MAXIMUM HOSTS =4
Cache:
128 megabyte write cache, version 3
Cache is GOOD
Battery is good
No unflushed data in cache
CACHE_FLUSH TIMER = DEFAULT (10 seconds)
CACHE_POLICY = B
NOCACHE_UPS
26. Use the
SHOW OTHER
_
COMMAND
to check the capacity of the second cache module:
CLI>SHOW OTHER_CONTROLLER
OTHER
_
CONTROLLER
will report the same information.
HSD50 Array Controller Service Manual
3–58 Installing
Installing power supplies
This procedure may be used to install a power supply into a SBB shelf or into a controller shelf.
Power supply and shelf LED status indicators.
Each power supply has two LED indicators that display the power supply status. The upper LED is the common power supply status. The lower LED is the power supply status indicator.
Table 3–12 shows the possible fault indications for an SW300 cabinet.
Table 3–12 Power supply status indicators
When the LED
Display is ...
The RAID Shelf Power Status is ...
All the power supplies on the associated power bus are functioning
This power supply is functioning properly, however one power supply on the associated bus has failed..
Either there is no AC power to this supply or this power supply should be replaced
LED on =
LED off =
Service Manual HSD50 Array Controller
Installing 3–59
Table 3–13 shows all possible fault indications for the SW500 and the
SW800 cabinet in a single power supply configuration.
Table 3–13 Shelf and single power supply status indicators
Status Indicator
Shelf LED
Power supply LED
Shelf LED
State Indication
System is operating normally.
Power supply LED
There is a shelf fault; there is no power supply fault.
Replace shelf blower.
Shelf LED
Power supply LED
Shelf and power supply fault. Replace power supply
Described in the Replace Section.
LED on =
LED off =
HSD50 Array Controller Service Manual
3–60 Installing
Table 3–14 shows all possible fault indications for the SW500 and the
SW800 cabinets for a dual power supply configuration.
______________________Note _____________________
The status indicators will operate ONLY if the power supplies and the shelf blowers are present. The failure must be a electrical or mechanical failure.
________________________________________________
Table 3–14 Shelf and dual power supply status indicators
Status Indicator
Shelf LED
Power supply LED
Shelf LED
Power Supply LED
Shelf LED
Power supply LED
Shelf LED
Power supply LED
Shelf LED
PS 1 PS 2 Indication
Normal.
System is operating normally.
There is a shelf fault; there is no power supply fault
Replace shelf blower.
PS 1 is operational.
Replace PS 2.
PS 2 is operational.
Replace PS 1.
Possible PS 1 and PS 2 fault or input power problem
Power supply LED
LED on =
LED off =
Service Manual HSD50 Array Controller
Installing 3–61
Required tools
The tools listed in Table 3–15 are required for power supply installation.
Table 3–15 Required tools for power supply installation
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800 series cabinet
Installing a power supply
Use the following procedure to install a power supply. For dual power supply configurations, repeat this procedure. For a single power supply configuration use slot 7 of the SBB shelf. Use slot 6 if you are adding a second power supply for redundancy.
1. Firmly push the power supply into the shelf until the mounting tabs snap into place. See Figure 3–27.
Figure 3–27 Installing a power supply SBB
HSD50 Array Controller
CXO-5304A-MC
2. Plug the power cord into the supply.
3. Observe the power and shelf status indicators and ensure they are both on. If the status indicators are not on, refer to the Status indicator tables and take appropriate service action.
Service Manual
3–62 Installing
4. Repeat the above steps to add a second power supply for redundancy.
After connecting the power cord, observe the status indicators and ensure that they are both on.
Installing storage building blocks
The storage device building blocks (SBBs) are in 3 1/2 inch or 5 1/4 inch form factors. The HSD50 controller supports the following devices:
•
3.5-inch and 5.25-inch disk drives
•
CD ROM drives in 5 1/4 inch Storage Works building blocks
•
Solid state disks and tape drives
____________________ Caution ____________________
Do not install solid state disk and CD-ROM drives when power is applied to the shelf.
________________________________________________
Figure 3–28 Typical 3.5-inch and 5.25-inch disk drive or optical disk SBBs
Device
Activity
(Green)
Device
Activity
(Green)
Device
Fault
(Amber)
Device
Fault
(Amber)
CXO-4654B-MC
Service Manual HSD50 Array Controller
Installing
Figure 3–29 Typical 5.25-inch CD ROM SBB
3–63
CXO-5167A-MC
Figure 3–30 Typical 3.5-inch tape drive SBB
HSD50 Array Controller
CXO-5168A-MC
Service Manual
3–64 Installing
SBB activity and status indicators
Most storage device have two LEDs that display SBB status. These LEDs have three states: on, off, and flashing.
The upper LED (green) is the device activity indicator and is on or flashing when the SBB is active.
The lower LED (amber) is the device status indicator and indicates an error condition or a configuration problem when it is on or flashing. See Table
3–16.
Table 3–16 Storage SBB Status Indicators
LED
Device activity
Device fault
Device activity
Device fault
Status Indication
SBB is operating normally.
SBB is operating normally.
Device activity
Device fault
Device activity
Device fault
Device activity
Device fault
Device activity
SBB is operating normally. The SBB is inactive, and there is no fault.
Fault status SBB is probably not responding to control signals.
Replace the SBB.
Fault status SBB is inactive and spun down.
Replace the SBB.
Fault status SBB is active and is spinning down because of a fault
Device fault
Device activity
Device fault
Fault status SBB has been identified by the controller as failed.
Replace the SBB.
LED on =
LED off =
LED flashing =
Service Manual HSD50 Array Controller
Installing 3–65
When using the
LOCATE
command, the lower LED is used to locate or identify units, storagesets, and devices in a cabinet.
For example:
To locate or identify device
DISK
100, enter:
CLI> LOCATE DISK100
The lower LED (amber) of
DISK
100 will flash a rate of once every second.
To turn off the lower LED use the
LOCATE CANCEL
command.
_____________________ Note ______________________
If a device has been placed into a failedset, the lower LED will flash faster. In this case, the
LOCATE
command cannot identify the device.
________________________________________________
The lower LED of each configured device can be tested using the
LOCATE command with the
ALL
qualifier.
For example:
To test the fault LED of each configured device, enter:
CLI> LOCATE ALL
The lower LED of each configured device will flash at rate of once every second. To turn off the lower LED use the
LOCATE CANCEL
command.
Refer to the CLI Reference Manual for further details of the
LOCATE command.
Asynchronous device installation
The controller supports asynchronous device swapping on the device bus.
Asynchronous swapping is defined as removal or insertion of a device while the controller is running, without halting bus activity using port quiesce buttons or CLI commands.
Asynchronous device swapping is supported on the HSD50 controller subject to the following restrictions:
•
Asynchronous device swapping is not supported during failover.
•
Asynchronous device swapping is not supported during failback.
•
Asynchronous device swapping is not supported from the time the controller is initialized, until the CLI prompt appears.
HSD50 Array Controller Service Manual
3–66 Installing
•
Asynchronous device swapping is not supported if the controller is in the process of recognizing or processing one or more asynchronous device removals.
•
Asynchronous device swapping is not supported while local programs such as DILX or VTDPY are running.
Installing SBBs
Use the following procedure to install SBBs.
1. Insert the SBB into the shelf guide slots and push it in until it is fully seated and the mounting tabs engage the shelf.
2. Observe the activity indicator (upper LED) and the status indicator
(lower LED). The activity indicator is either on, flashing, or off. The status indicator is off.
Installing a solid state disk CD-ROM and optical drives
Use the following procedure to install a solid state disk, CD-ROM and optical drives. To install the device, power must be removed from the shelf.
1. Halt all I/O activity using the appropriate procedures for your operating system.
2. Connect a maintenance terminal to one of the controllers.
3. At the CLI prompt, enter:
CLI> SHUTDOWN OTHER_CONTROLLER
CLI> SHUTDOWN THIS_CONTROLLER
4. To ensure that the controller has shut down cleanly, check for the following indications on the controller’s OPC (operator control panel).
– The Reset (//) light is on continuously.
– Port lights 1, 2, 3, are also on continuously.
5. Remove the power cords from the shelf power supplies in which you will install the solid state drive.
6. Insert the device into the shelf.
7. Reconnect the power cord to the shelf power supply.
8. Reinitialize the controllers by pressing the Reset (//) button on both controllers.
9. Observe the status indicators for the following conditions:
10. Ensure that the amber status indicator is off.
Service Manual HSD50 Array Controller
4
Moving Storagesets and Devices
Moving storagesets
Moving storageset members
Moving single disk-drive units
Moving devices
HSD50 Array Controller Service Manual
4–2 Moving Storagesets and Devices
Precautions
If you’re moving a storageset or device that contains data you want to keep:
•
Make sure that the controller is functioning properly—its green LED should be flashing on and off about one time per second.
•
Exit any local programs that you may be running, such as CSWAP,
CFMENU, or CHVSN.
•
Wait until the CLI prompt appears on your local or remote terminal before inserting or removing any device.
•
Wait about one minute after inserting each device before you insert another.
•
Don’t insert or remove a device during failover or failback.
Service Manual HSD50 Array Controller
Moving Storagesets and Devices 4–3
Moving storagesets
You can move a storageset from one subsystem to another without destroying its data. You can also follow these steps to move a storageset to a new location within the same subsystem.
Figure 4—1 Moving a storageset from one subsystem to another
HSD50 Array Controller
CXO-5290A-MC
To move a storageset while maintaining the data it contains:
1. Show the details for the storageset that you want to move.
CLI> SHOW
storageset-name
2. Label each member with its name and PTL location.
(If you don’t have a storageset map for your subsystem, you can
LOCATE each member to find its PTL location.)
CLI> LOCATE
disk-name
To cancel the locate command:
CLI> LOCATE CANCEL
3. Delete the unit-number shown in the “Used by” column of the
SHOW
storageset-name command.
CLI> DELETE
unit-number
Service Manual
4–4
Service Manual
Moving Storagesets and Devices
4. Delete the storageset shown in the “Name” column of the
SHOW
storageset-name command.
CLI> DELETE
storageset-name
5. Delete each disk drive—one at a time—that was contained by the storageset.
CLI> DELETE
disk-name
CLI> DELETE
disk-name
CLI> DELETE
disk-name
6. Remove the disk drives and move them to their new PTL locations.
7. Re-add each disk drive to the controller’s list of valid devices.
CLI> ADD DISK
disk-name PTL-location
CLI> ADD DISK
disk-name PTL-location
CLI> ADD DISK
disk-name PTL-location
8. Re-create the storageset by adding it’s name to the controller’s list of valid storagesets and specifying the disk drives it contains. (Although you have to re-create the storageset from its original disks, you don’t have to add them in their original order.)
CLI> ADD
STORAGESET storageset-name disk-name disk-name disk-name
9. Re-present the storageset to the host by giving it a unit number that the host can recognize. You can use the original unit number or create a new one.
CLI> ADD UNIT
unit-number storageset-name
Example
The following example moves unit D100 to another cabinet. D100 is the
RAIDset “RAID99” that comprises members 200, 300, and 400.
CLI> SHOW Raid99
Name Storageset Uses Used by
----------------------------------------------
RAID99 raidset disk100 D100
disk200
disk300
CLI> DELETE D100
CLI> DELETE RAID99
CLI> DELETE DISK200 DISK300 DISK400
(...move the disk drives to their new location...)
HSD50 Array Controller
Moving Storagesets and Devices 4–5
CLI> ADD DISK DISK200 2 0 0
CLI> ADD DISK DISK300 3 0 0
CLI> ADD DISK DISK400 4 0 0
CLI> ADD RAIDSET RAID99 DISK200 DISK300 DISK400
CLI> ADD UNIT D100 RAID99
Example
The following example moves the reduced RAIDset, “R3,” to another cabinet. (R3 used to contain disk200, which failed before the RAIDset was moved. At the beginning of this example, it contains disk100, disk300, and disk400.)
CLI> DELETE D100
CLI> DELETE R3
CLI> DELETE DISK100 DISK300 DISK400
(...move disk drives to their new location...)
CLI> ADD DISK DISK100 1 0 0
CLI> ADD DISK DISK300 3 0 0
CLI> ADD DISK DISK400 4 0 0
CLI> ADD RAIDSET R3 DISK100 DISK300 DISK400 REDUCED
CLI> ADD UNIT D100 R3
HSD50 Array Controller Service Manual
4–6 Moving Storagesets and Devices
Moving storageset members
You may want to move a storageset member—and its data—from one PTL location to another to maintain the symmetry in your subsystem. For example, if a RAIDset member fails and is replaced by a disk drive in the spareset, you could move the replacement member into the column that contains the RAIDset.
Figure 4—2 Maintaining symmetry in your subsystem makes it easier to keep track of your storagesets and their members
Service Manual
CXO-5291A-MC
To move a storageset member while maintaining the data it contains:
1. Delete the unit-number of the storageset that contains the disk drive you want to move.
CLI> DELETE
unit-number
2. Delete the storagesest that contains the disk drive you want to move.
CLI> DELETE
storageset-name
3. Delete each disk drive—one at a time—that was contained by the storageset.
CLI> DELETE
disk-name_1
CLI> DELETE
disk-name_2
CLI> DELETE
disk-name_n
4. Move the desired disk drive to its new PTL location.
5. Re-add each member to the controller’s list of valid devices.
CLI> ADD DISK
disk-name PTL-location
CLI> ADD DISK
disk-name PTL-location
CLI> ADD DISK
disk-name PTL-location
HSD50 Array Controller
Moving Storagesets and Devices 4–7
6. Re-create the storageset by adding it’s name to the controller’s list of valid storagesets and specifying the disk drives it contains. (Although you have to re-create the storageset from its original members, you don’t have to add them in their original order.)
CLI> ADD
STORAGESET storageset-name disk_1 disk_n
7. Re-present the storageset to the host by giving it a unit number that the host can recognize. You can use the original unit number or create a new one.
CLI> ADD UNIT
unit-number storageset-name
Example
The following example moves disk210 to PTL location 300. (Its new name will be disk300 to correspond to its new PTL location.) Disk210 was a spare that was pulled into unit D100 when its disk300 failed. (D100 is the
RAIDset “RAID99” that comprises members 200, 210, and 400.)
CLI> DELETE D100
CLI> DELETE RAID99
CLI> DELETE DISK210
(...move disk210 to PTL location 300...)
CLI> ADD DISK DISK300 3 0 0
CLI> ADD RAIDSET RAID99 DISK200 DISK300 DISK400
CLI> ADD UNIT D100 RAID99
HSD50 Array Controller Service Manual
4–8 Moving Storagesets and Devices
Moving a single disk-drive unit
You can move a single disk-drive unit from one subsystem to another without destroying its data. You can also use the procedure given below to move a unit to a new location within the same subsystem.
To move a single disk-drive unit while maintaining the data it contains:
1. Show the details for the unit that you want to move.
CLI> SHOW
unit-number
2. Delete the unit-number shown in the “Used by” column of the
SHOW
unit-number command.
CLI> DELETE
unit-number
3. Delete the disk drive.
CLI> DELETE
disk-name
4. Remove the disk drive and move it to its new PTL location.
5. If you’re moving disk drives from an HSC subsystem, run CHVSN to generate a unique volume serial number for each disk, otherwise skip this step.
CLI> RUN CHVSN
Device (port target lun) [EXIT] ?
PTL-location
CHVSN: Volume Serial Number is 00000000 00000000
Update CHVSN (Y/N) ? Y
HSC controllers accept duplicate volume serial numbers, whereas
«Model» controllers do not. If CHVSN reports a volume serial number of zero for a disk drive, press “Y” when prompted to “Update
CHVSN.”
Service Manual HSD50 Array Controller
Moving Storagesets and Devices 4–9
6. Re-add the disk drive to the controller’s list of valid devices.
CLI> ADD DISK
disk-name PTL-location
7. Re-present the disk drive to the host by giving it a unit number that the host can recognize. You can use the original unit number or create a new one.
CLI> ADD UNIT
unit-number disk-name
Example
The following example moves Disk507 to PTL location 100. (Its new name will be Disk100 to correspond to its new PTL location.)
CLI> Show D507
CLI> Delete D507
CLI> Delete Disk100
CLI> Add Disk100 1 0 0
CLI> Add D507 Disk100
HSD50 Array Controller Service Manual
4–10 Moving Storagesets and Devices
Moving devices
Follow these steps to move a device, such as a disk drive, tape drive,
CDROM drive, or tape loader:
1. Quiesce the bus that services the device you want to move.
2. Show the details for the device that you want to move. (If you’re moving a tape loader, show the details for the passthrough device that’s associated with it.)
CLI> SHOW
device-name
3. If the device has a unit number associated with it, delete the unitnumber that’s shown in the “Used by” column.
CLI> DELETE
unit-number
4. Delete the device name shown in the “Name” column.
CLI> DELETE
device-name
5. Remove the device and move it to its new PTL location.
6. Re-add the device to the controller’s list of valid devices.
CLI> ADD
DEVICE device-name PTL-location
7. If you’re moving a tape loader, re-create the passthrough device that represents the loader.
CLI> ADD PASSTHROUGH
passthrough_name PTL-location
8. Re-present the device to the host by giving it a unit number that the host can recognize. You can use the original unit number or create a new one.
CLI> ADD UNIT
unit-number device-name
9. You might have to reconfigure the host-based software that controls the loader. Refer to the documentation that accompanied the loader and its software.
Service Manual HSD50 Array Controller
Moving Storagesets and Devices 4–11
Example
The following example moves TAPE100 (unit T108) from PTL 1 0 0 to
PTL 6 0 0.
CLI> SHOW
tape100
NAME Type Port Targ Lun Used by
------------------------------------------------
TAPE100 tape 1 0 0 T108
CLI> DELETE T108
CLI> DELETE TAPE100
(...move tape100 to its new location...)
CLI> ADD TAPE TAPE600 6 0 0
CLI> ADD UNIT T600 TAPE600
The following example moves tape LOADER120 from p3 to p1:
CLI> SHOW PASSTHROUGH LOADER
NAME by
Type Port Targ Lun
------------------------------------------------
LOADER120 passthrough loader 4 2
TAPE430 passthrough tape 4 3
0
0
Used
P3
P0
CLI> DELETE P3
CLI> DELETE P0
CLI> DELETE TAPE430
(...move passthrough loader120 to new location)
CLI> ADD PASSTHROUGH LOADER120 1 2 0
CLI> ADD UNIT P0 TAPE430
CLI> ADD UNIT P3 LOADER LOADER 120
HSD50 Array Controller Service Manual
5
Removing
Removing a patch
Removing a controller and cache module
Removing storage devices
HSD50 Array Controller Service Manual
5–2 Removing
Precautions
Some of the procedures in this chapter involve handling program cards, controller modules and cache modules. Use the following guidelines to prevent component damage while servicing subsystem modules.
•
After removing a controller or cache module from the shelf, place the module into an approved antistatic bag or onto a grounded antistatic mat.
•
Cover the program card with the snap-on ESD cover when the card is installed in the controller.
•
Keep the program card in its original carrying case when not in use.
•
Do not twist or bend the program card.
•
Do not touch the program card contacts.
Service Manual HSD50 Array Controller
Removing 5–3
Removing a patch
Use the delete patch program to free memory space for patches that need to be added to the current software version. When patches are removed from controller memory, they will also be removed from storagesets that have been initialized with the
INITIALIZE
container name
SAVE CONFIGURATION command.
The version numbers and patch numbers in this procedure are only examples. The Patch Code program will not allow you enter any of these numbers used in these examples.
Required tools
The tools listed in Table 5–1 are required for removing a patch:
Table 5–1 Required tools
Required tools
Maintenance terminal
5/32-inch Allen wrench
Purpose
To start the CLCP utility
To unlock the SW800 cabinet
To remove a patch:
1. Connect a maintenance terminal to one of the controllers. See Figure
5–1.
Figure 5–1 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
HSD50 Array Controller Service Manual
5–4
Service Manual
Removing
2. Start the CLCP utility:
CLI> RUN CLCP
The CLCP main menu is displayed.
Select an option from the following list:
Code Load & Code Patch Utility Main Menu
0: Exit
1: Enter Code LOAD utility
2: Enter Code PATCH utility
Enter option number (0..2) [0] ?
This controller module does not support code load functionality. Exiting CLCP
CLI>
The code patch menu is displayed.
You have selected the Code Patch local program. This program is used to manage firmware code patches.
Select an option from the following list:
Type ^Y or ^C (then RETURN) at any time to abort
Code Patch.
Code Patch Main Menu
0: Exit
1: Enter a Patch
2: Delete Patches
3: List Patches
Enter option number (0..3) [0] ?
This is the Delete Patches option. The program prompts you for the firmware version and patch number you wish to delete. If you select a patch for deletion that is required for an other patch, all dependent patches are also selected for deletion.
The program lists your deletion selections and asks if you wish to continue.
Type ^Y or ^C (then RETURN) at any time to abort
Code Patch.
HSD50 Array Controller
Removing 5–5
The following patches are currently stored in the patch area:
Firmware Version - Patch number(s)
V50D 1,2
V51D 1
Currently 90% of the patch area is free.
Firmware Version of patch to delete?
5. Enter the firmware version V51D
6. Patch Number to delete?
The following patches have been selected for deletion:
Firmware Version - Patch number(s)
V50D 1
Do you wish to continue (y/n) [y] ?
The patch you have just deleted is currently applied, but will not be applied when the controller is restarted.
Code Patch Main Men
0: Exit
1: Enter a Patch
2: Delete Patches
3: List Patches
Enter option number (0..3) [0] ?
The following patches are currently stored in the patch area:
Firmware Version - Patch number(s)
V50D 1,2
Currently, 95% of the patch area is free.
HSD50 Array Controller Service Manual
5–6 Removing
Removing a controller and cache module
A controller and a cache module may be removed so they it can be used in another subsystem.
Required tools
The tools listed in Table 5–2 are required for removing a controller.
Table 5–2 Required tools
Required tools
Maintenance terminal
Small flat-head screwdriver
ESD wrist strap
5/32-inch Allen wrench
Purpose
To shutdown and to restart controllers.
To loosen captive screws
To protect all equipment against electrostatic discharge
To unlock the SW800 series cabinet
To remove a controller and its cache module:
1. Connect a maintenance terminal to the controller to be removed. See
Figure 5–2.
Figure 5–2 Connecting a maintenance terminal to the controller
Local-connection port
Service Manual
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
2. Take the controller to be removed out of service:
CLI > SHUTDOWN THIS_CONTROLLER
CXO-5292A-MC
HSD50 Array Controller
Removing 5–7
3. Ensure that the controller has shutdown cleanly. Check for the following indications on the controller’s OCP (operator control panel).
– The Reset (//) light is on.
– Port lights 1, 2, 3 are continuously lit.
4. With a small flat-head screwdriver, loosen the captive screws that secure the trilink to the controller. See Figure 5–3.
Figure 5–3 Disconnecting the trilink connector
Host port connector with mating guide
Controller
1 2 3 4 5 6
Trilink
Captive screw
(2X)
Host port cable
(from host)
Host port cable
(to other controllers)
CXO-5297A-MC
5. Remove the trilink. Do not disconnect the host cables from the trilink.
6. Shut down the ECBs by pressing the shutdown button on the ECB until the LED goes out.
HSD50 Array Controller Service Manual
5–8 Removing
_________________Caution________________________
To avoid the possibility of short circuit or electrical shock, do not allow the free end of an ECB cable attached to a cache module to make contact with a conductive surface.
________________________________________________
7. Disconnect the ECB cables (see Figure 5–4).
Figure 5–4 Removing the ECB cables
1 2 3 4 5 6
1 2 3 4 5 6
Service Manual
CXO-5282A-MC
8. Loosen the captive screws on the controller and cache module’s front bezel.
9. Obtain and place an ESD wrist strap around your wrist. Ensure that the strap fits snugly around your wrist.
10. Attach the other end of the ESD strap to the cabinet grounding stud or a convenient cabinet grounding point (non-painted surface).
11. Slide the controller out of the shelf. See Figure 5–5. Place the controller in an ESD bag.
HSD50 Array Controller
Removing
Figure 5–5 Removing the controller and cache module
1
Controller
1 2 3 4 5 6
5–9
1 2 3 4 5 6
2
1 2 3 4 5 6
Cache module
CXO-5284A-MC
12. If required, slide the cache module out of the shelf. See Figure 5–5.
Place the cache module in an ESD bag.
13. Remove the ECB and store it with the cache module.
HSD50 Array Controller Service Manual
5–10 Removing
Removing storage devices
Remove storage devices so they can be used in other subsystems.
Removing disk drives
Disk drives may be removed without having to quiesce the device bus or remove power from the shelf with the following restrictions:
•
Do not remove devices during failover.
•
Do not remove devices during failback.
•
Do not remove devices before the CLI prompt appears during controller initialization.
•
Do not remove devices while the controller is running a local program such as DILX or VTDPY.
Required tools
The tools listed in Table 5–3 are required for removing SBBs.
Table 5–3 Required tools
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800 series cabinet
To remove storage devices:
Use the following procedure to remove 3 1/2 - inch and 5 1/4 - inch disk drives:
1. Determine the disk drive you wish to remove.
2. Press the two mounting tabs together to release the disk drive from the shelf and partially pull the disk drive out of the shelf. Allow the disk drive to spin down.
3. Using both hands, slide the disk drive out of the shelf and place it on flat surface (see Figure 5–6).
Service Manual HSD50 Array Controller
Removing
Figure 5–6 Removing a 3.5-inch disk drive
5–11
CXO-4439A-MC
Removing solid state disks, read/write optical devices and CD-
ROM drives
When removing solid state disk drives or read/write optical devices, the controller needs to be shutdown and power must be removed from the device shelf.
Required tools
The tools listed in Table 5–4 are required for removing solid state disk drives, tape drives CD-ROM readers and optical devices.
Table 5–4 Required tools
Required tools
Maintenance terminal
5/32-inch Allen wrench
Purpose
To shutdown and to restart controllers.
To unlock the SW800 series cabinet
1. Connect a maintenance terminal to the controller
(see Figure 5–7).
HSD50 Array Controller Service Manual
5–12 Removing
Figure 5–7 Connecting a maintenance terminal to the controller
Local-connection port
To PC
H8571-J
1 2 3 4 5 6
BC16E-XX
To terminal
CXO-5292A-MC
2. Halt all host I/O activity using the appropriate procedures for your operating system.
3. Take the controllers out of service:
CLI> SHUTDOWN OTHER_CONTROLLER
CLI> SHUTDOWN OTHER_CONTROLLER
4. Remove the power cords from the shelf power supplies.
5. Remove the device by pressing the two mounting tabs together to release it from the shelf. Using both hands, remove the device from the shelf.
6. Restart the system.
Service Manual HSD50 Array Controller
Removing 5–13
Removing tape drives
Use the following procedure to remove tape drives.
Required tools
The tools listed in Table 5–5 are required for removing tape drives.
Table 5–5 Required tools
Required tools
5/32-inch Allen wrench
Purpose
To unlock the SW800 series cabinet
1. Halt all I/O activity to the tape drive using the appropriate procedures for your operating system.
2. Quiesce the appropriate device port by pushing the device port button on the controller’s OCP (operator control panel).
3. When the OCP LEDs flash in an alternating pattern the device port is quiesced. For example when you quiesce device port 3 and I/O has halted, the OCP LEDs are flashing in an alternating pattern as shown below. The flashing LEDs are represented by the dark circles with lines radiating from them.
HSD50 Array Controller
CXO-4824A-MC
4. When the port has quiesced, remove the tape drive by pressing the two mounting tabs together to release it from the shelf.
5. Using both hands, pull the tape drive out of the device shelf.
Service Manual
Appendix A
Instance, codes
Last failure codes
Repair action codes
HSD50 Array Controller Service Manual
A - 2
Service Manual
Appendix A
Instance, codes and definitions
The following table contains instance, codes and their definitions. Use these tables to identify instance, code definitions and the suggested repair action.
Repair action codes on page 90 contains the repair action codes and actions.
Table A–1 Instance, codes
Instance,
Code
Explanation
01010302
0102030A
01032002
0121370A
0122330A
01292602
012A3702
012B3702
012C3702
012D3702
An unrecoverable hardware detected fault occurred.
An unrecoverable firmware inconsistency was detected or an intentional restart or shutdown of controller operation was requested.
Nonvolatile parameter memory component
EDC check failed. The content of the component was reset to default settings.
Memory System Error Analysis is indicated in the information preserved during a previous last failure but no error conditions are indicated in the available DRAB registers. The
Master DRAB registers’ content is supplied.
An error condition detected by one of the
CACHE DRABs that requires supplemental information has been reported in another event report. This event report contains the
Master DRAB and Diagnostic registers content associated with that initial event report.
The Master DRAB detected a Cache Time-out condition during an access attempt to a
CACHEA0, CACHEA1, CACHEB0, or
CACHEB1 DRAB registers region or memory region. The addressed region failed to respond.
The CACHEA0 DRAB unexpectedly reported a Cache Time-out condition.
The CACHEA1 DRAB unexpectedly reported a Cache Time-out condition.
The CACHEB0 DRAB unexpectedly reported a Cache Time-out condition.
The CACHEB1 DRAB unexpectedly reported a Cache Time-out condition.
Repair
Action
Code
03
03
20
37
33
26
37
37
37
37
HSD50 Array Controller
Appendix A A - 3
HSD50 Array Controller
012F3702
01303702
01313702
01323702
01333702
01342802
01352902
01362902
01372A02
01382A02
01392802
013A2802
013B2802
Instance,
Code
012E2702
Explanation
The Master DRAB detected an Nbus Transfer
Error Acknowledge (TEA) condition. This means the TEA signal was asserted by an
Nbus device during an I960 -to-Nbus device transaction.
The Master DRAB unexpectedly reported an
Nbus Transfer Error Acknowledge condition.
The CACHEA0 DRAB unexpectedly reported an Nbus Transfer Error Acknowledge condition.
The CACHEA1 DRAB unexpectedly reported an Nbus Transfer Error Acknowledge condition.
The CACHEB0 DRAB unexpectedly reported an Nbus Transfer Error Acknowledge condition.
The CACHEB1 DRAB unexpectedly reported an Nbus Transfer Error Acknowledge condition.
A Multiple Bit ECC error was detected during a memory refresh attempt by the Master
DRAB.
A Multiple Bit ECC error was detected during a memory refresh attempt by the CACHEA0
DRAB.
A Multiple Bit ECC error was detected during a memory refresh attempt by the CACHEA1
DRAB.
A Multiple Bit ECC error was detected during a memory refresh attempt by the CACHEB0
DRAB.
A Multiple Bit ECC error was detected during a memory refresh attempt by the CACHEB1
DRAB.
The Master DRAB detected a Multiple Bit
ECC error during an FX attempt to read buffer memory.
The Master DRAB detected a Multiple Bit
ECC error during a host port attempt to read buffer memory.
The Master DRAB detected a Multiple Bit
ECC error during a Device port attempt to read buffer memory.
Repair
Action
Code
37
37
37
37
37
37
28
29
29
2A
2A
28
28
28
Service Manual
A - 4
Service Manual
01452A02
01462A02
01472A02
01482A02
01492A02
014A2A02
Instance,
Code
013C2802
013D2902
013E2902
013F2902
01402902
01412902
01422902
01432902
01442902
Appendix A
Explanation
The Master DRAB detected a Multiple Bit
ECC error during an I960 attempt to read buffer memory.
The CACHEA0 DRAB detected a Multiple
Bit ECC error during an FX attempt to read
CACHEA0 memory.
The CACHEA0 DRAB detected a Multiple
Bit ECC error during a host port attempt to read CACHEA0 memory.
The CACHEA0 DRAB detected a Multiple
Bit ECC error during a Device port attempt to read CACHEA0 memory.
The CACHEA0 DRAB detected a Multiple
Bit ECC error during an I960 attempt to read
CACHEA0 memory.
The CACHEA1 DRAB detected a Multiple
Bit ECC error during an FX attempt to read
CACHEA1 memory.
The CACHEA1 DRAB detected a Multiple
Bit ECC error during a host port attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected a Multiple
Bit ECC error during a device port attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected a Multiple
Bit ECC error during an I960 attempt to read
CACHEA1 memory.
The CACHEB0 DRAB detected a Multiple Bit
ECC error during an FX attempt to read
CACHEB0 memory.
The CACHEB0 DRAB detected a Multiple Bit
ECC error during a host port attempt to read
CACHEB0 memory.
The CACHEB0 DRAB detected a Multiple Bit
ECC error during a device port attempt to read
CACHEB0 memory.
The CACHEB0 DRAB detected a Multiple Bit
ECC error during an I960 attempt to read
CACHEB0 memory.
The CACHEB1 DRAB detected a Multiple Bit
ECC error during an FX attempt to read
CACHEB1 memory.
The CACHEB1 DRAB detected a Multiple Bit
ECC error during a host port attempt to read
CACHEB1 memory.
Repair
Action
Code
28
29
29
29
29
29
29
29
29
2A
2A
2A
2A
2A
2A
HSD50 Array Controller
Appendix A
HSD50 Array Controller
01533702
01543702
01553702
01563702
01572C02
01582C02
01592C02
015A2C02
015B2C02
Instance,
Code
014B2A02
014C2A02
014D3702
014E3702
014F3702
01503702
01513702
01522B02
A - 5
Explanation
The CACHEB1 DRAB detected a Multiple Bit
ECC error during a device port attempt to read
CACHEB1 memory.
The CACHEB1 DRAB detected a Multiple Bit
ECC error during an I960 attempt to read
CACHEB1 memory.
The Master DRAB unexpectedly reported a
Multiple Bit ECC error.
The CACHEA0 DRAB unexpectedly reported a Multiple Bit ECC error.
The CACHEA1 DRAB unexpectedly reported a Multiple Bit ECC error.
The CACHEB0 DRAB unexpectedly reported a Multiple Bit ECC error.
The CACHEB1 DRAB unexpectedly reported a Multiple Bit ECC error.
The Master DRAB detected an Ibus- to -Nbus
Time-out condition during an I960 to Nbus device transaction. The Nbus device failed to respond.
The CACHEA0 DRAB unexpectedly reported an Ibus-to-Nbus Time-out condition.
The CACHEA1 DRAB unexpectedly reported an Ibus-to-Nbus Time-out condition.
The CACHEB0 DRAB unexpectedly reported an Ibus-to-Nbus Time-out condition.
The CACHEB1 DRAB unexpectedly reported an Ibus-to-Nbus Time-out condition.
The Master DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write a byte to buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during an FX attempt to read buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during a host port attempt to write buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during a Host port attempt to write a byte to buffer memoryh
Repair
Action
Code
2A
2A
2C
2C
2C
2C
37
37
37
37
37
2B
37
37
37
37
2C
Service Manual
A - 6
Service Manual
Instance,
Code
015C2C02
015D2C02
015E2C02
015F2C02
01602C02
01612C02
01622C02
01632D02
01642D02
01652D02
01662D02
01672D02
01682D02
01692D02
Appendix A
Explanation
The Master DRAB detected a Nonexistent
Memory Error condition during a host port attempt to read buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to write buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to write a byte to buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to read buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write a byte to buffer memory.
The Master DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to read buffer memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to write CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to read CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to write CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to read CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to write CACHEA0 memory.
Repair
Action
Code
2C
2C
2C
2C
2C
2C
2C
2D
2D
2D
2D
2D
2D
2D
HSD50 Array Controller
Appendix A
HSD50 Array Controller
01712D02
01722D02
01732D02
01742D02
01752D02
01762D02
Instance,
Code
016A2D02
016B2D02
016C2D02
016D2D02
016E2D02
016F2D02
01702D02
A - 7
Explanation
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to write a byte to
CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to read CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to write CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to read CACHEA0 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to write CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to write a byte to CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an FX attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to write CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to write a byte to
CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a host port attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to write CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to write a byte to
CACHEA1 memory.
Repair
Action
Code
2D
2D
2D
2D
2D
2D
2D
2D
2D
2D
2D
2D
2D
Service Manual
A - 8
Service Manual
Instance,
Code
01772D02
01782D02
01792D02
017F2E02
01802E02
01812E02
01822E02
01832E02
01842E02
017A2D02
017B2E02
017C2E02
017D2E02
017E2E02
Appendix A
Explanation
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during a
Device port attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to write CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to write a byte to CACHEA1 memory.
The CACHEA1 DRAB detected a
Nonexistent Memory Error condition during an I960 attempt to read CACHEA1 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to read CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a host port attempt to write CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a host port attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a host port attempt to read CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a device port attempt to write CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a device port attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to read CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write CACHEB0 memory.
Repair
Action
Code
2D
2D
2D
2D
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
HSD50 Array Controller
Appendix A
HSD50 Array Controller
018E2E02
018F2E02
01902E02
01912E02
01922E02
01933702
Instance,
Code
01852E02
01862E02
01872E02
01882E02
01892E02
018A2E02
018B2E02
018C2E02
018D2E02
A - 9
Explanation
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to read CACHEB0 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an FX attempt to read CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Host port attempt to write CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Host port attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Host port attempt to read CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to write CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during a Device port attempt to read CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Nonexistent
Memory Error condition during an I960 attempt to read CACHEB1 memory.
The Master DRAB unexpectedly reported a
Nonexistent Memory Error condition.
Repair
Action
Code
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
2E
37
Service Manual
A - 10
Service Manual
Instance,
Code
01943702
01953702
01963702
01973702
01982F02
01993002
019A3002
019B3102
019C3102
019D2F02
019E2F02
019F2F02
01A02F02
01A13002
01A23002
01A33002
Appendix A
Explanation
The CACHEA0 DRAB unexpectedly reported a Nonexistent Memory Error condition.
The CACHEA1 DRAB unexpectedly reported a Nonexistent Memory Error condition.
The CACHEB0 DRAB unexpectedly reported a Nonexistent Memory Error condition.
The CACHEB1 DRAB unexpectedly reported a Nonexistent Memory Error condition.
An Address Parity error was detected during a memory refresh attempt by the Master DRAB.
An Address Parity error was detected during a memory refresh attempt by the CACHEA0
DRAB.
An Address Parity error was detected during a memory refresh attempt by the CACHEA1
DRAB.
An Address Parity error was detected during a memory refresh attempt by the CACHEB0
DRAB.
An Address Parity error was detected during a memory refresh attempt by the CACHEB1
DRAB.
The Master DRAB detected an Address Parity error during an FX attempt to read buffer memory.
The Master DRAB detected an Address Parity error during a Host port attempt to read buffer memory.
The Master DRAB detected an Address Parity error during a Device port attempt to read buffer memory.
The Master DRAB detected an Address Parity error during an I960 attempt to read buffer memory.
The CACHEA0 DRAB detected an Address
Parity error during an FX attempt to read
CACHEA0 memory.
The CACHEA0 DRAB detected an Address
Parity error during a Host port attempt to read
CACHEA0 memory.
The CACHEA0 DRAB detected an Address
Parity error during a Device port attempt to read CACHEA0 memory.
30
31
31
2F
2F
2F
2F
30
30
30
2F
30
37
37
Repair
Action
Code
37
37
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
01A43002
01A53002
01A63002
01A73002
01A83002
01A93102
01AA3102
01AB3102
01AC3102
01AD3102
01AE3102
01AF3102
01B03102
01B13702
01B23702
01B33702
A - 11
Explanation
The CACHEA0 DRAB detected an Address
Parity error during an I960 attempt to read
CACHEA0 memory.
The CACHEA1 DRAB detected an Address
Parity error during an FX attempt to read
CACHEA1 memory.
The CACHEA1 DRAB detected an Address
Parity error during a Host port attempt to read
CACHEA1 memory.
The CACHEA1 DRAB detected an Address
Parity error during a Device port attempt to read CACHEA1 memory.
The CACHEA1 DRAB detected an Address
Parity error during an I960 attempt to read
CACHEA1 memory.
The CACHEB0 DRAB detected an Address
Parity error during an FX attempt to read
CACHEB0 memory.
The CACHEB0 DRAB detected an Address
Parity error during a Host port attempt to read
CACHEB0 memory.
The CACHEB0 DRAB detected an Address
Parity error during a Device port attempt to read CACHEB0 memory.
The CACHEB0 DRAB detected an Address
Parity error during an I960 attempt to read
CACHEB0 memory.
The CACHEB1 DRAB detected an Address
Parity error during an FX attempt to read
CACHEB1 memory.
The CACHEB1 DRAB detected an Address
Parity error during a Host port attempt to read
CACHEB1 memory.
The CACHEB1 DRAB detected an Address
Parity error during a Device port attempt to read CACHEB1 memory.
The CACHEB1 DRAB detected an Address
Parity error during an I960 attempt to read
CACHEB1 memory.
The Master DRAB unexpectedly reported an
Address Parity error.
The CACHEA0 DRAB unexpectedly reported an Address Parity error.
The CACHEA1 DRAB unexpectedly reported an Address Parity error.
Repair
Action
Code
30
30
30
30
30
31
31
31
31
31
31
31
31
37
37
37
Service Manual
A - 12
Service Manual
Instance,
Code
01B43702
01B53702
01B63202
01B73202
01B83202
01B93202
01BA3202
01BB3202
01BC3202
01BD3702
01BE3702
01BF3702
01C03702
01C13702
01C22F02
01C32F02
Appendix A
Explanation
The CACHEB0 DRAB unexpectedly reported an Address Parity error.
The CACHEB1 DRAB unexpectedly reported an Address Parity error.
The Master DRAB detected an Ibus Parity
Error during an I960 ID/Cache access attempt.
The Master DRAB detected an Ibus Parity
Error during an I960 buffer memory access attempt.
The Master DRAB detected an Ibus Parity
Error during an I960 buffer memory access attempt with a simultaneous, but unrelated,
CACHExn memory access.
The Master DRAB detected an Ibus Parity
Error during an I960 CACHEA memory access with a simultaneous, but unrelated, buffer memory access.
The Master DRAB detected an Ibus Parity
Error during an I960 CACHEB memory access with a simultaneous, but unrelated, buffer memory access.
The Master DRAB detected an Ibus Parity
Error during an I960 CACHEA Control and
Status Register access with a simultaneous, but unrelated, buffer memory access.
The Master DRAB detected an Ibus Parity
Error during an I960 CACHEB Control and
Status Register access with a simultaneous, but unrelated, buffer memory access.
The Master DRAB unexpectedly reported an
Ibus Parity error.
The CACHEA0 DRAB unexpectedly reported an Ibus Parity error.
The CACHEA1 DRAB unexpectedly reported an Ibus Parity error.
The CACHEB0 DRAB unexpectedly reported an Ibus Parity error.
The CACHEB1 DRAB unexpectedly reported an Ibus Parity error.
The Master DRAB detected a Write Data
Parity error during an FX attempt to write buffer memory.
The Master DRAB detected a Write Data
Parity error during an FX attempt to write a byte to buffer memory.
37
2F
37
37
37
37
37
32
Repair
Action
Code
37
32
32
32
32
32
32
2F
HSD50 Array Controller
Appendix A
HSD50 Array Controller
01CD3002
01CE3002
01CF3002
01D03002
01D13002
01D23002
Instance,
Code
01C42F02
01C52F02
01C62F02
01C72F02
01C82F02
01C92F02
01CA3002
01CB3002
01CC3002
A - 13
Explanation
The Master DRAB detected a Write Data
Parity error during a Host port attempt to write buffer memory.
The Master DRAB detected a Write Data
Parity error during a Host port attempt to write a byte to buffer memory.
The Master DRAB detected a Write Data
Parity error during a Device port attempt to write buffer memory.
The Master DRAB detected a Write Data
Parity error during a Device port attempt to write a byte to buffer memory.
The Master DRAB detected a Write Data
Parity error during an I960 attempt to write buffer memory.
The Master DRAB detected a Write Data
Parity error during an I960 attempt to write a byte to buffer memory.
The CACHEA0 DRAB detected a Write Data
Parity error during an FX attempt to write
CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during an FX attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during a Host port attempt to write
CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during a Host port attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during a Device port attempt to write CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during a Device port attempt to write a byte to CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during an I960 attempt to write
CACHEA0 memory.
The CACHEA0 DRAB detected a Write Data
Parity error during an I960 attempt to write a byte to CACHEA0 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during an FX attempt to write
CACHEA1 memory.
Repair
Action
Code
2F
2F
2F
2F
2F
2F
30
30
30
30
30
30
30
30
30
Service Manual
A - 14
Service Manual
01DC3102
01DD3102
01DE3102
01DF3102
01E03102
01E13102
Instance,
Code
01D33002
01D43002
01D53002
01D63002
01D73002
01D83002
01D93002
01DA3102
01DB3102
Appendix A
Explanation
The CACHEA1 DRAB detected a Write Data
Parity error during an FX attempt to write a byte to CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during a Host port attempt to write
CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during a Host port attempt to write a byte to CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during a Device port attempt to write CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during a Device port attempt to write a byte to CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during an I960 attempt to write
CACHEA1 memory.
The CACHEA1 DRAB detected a Write Data
Parity error during an I960 attempt to write a byte to CACHEA1 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during an FX attempt to write
CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during an FX attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during a Host port attempt to write
CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during a Host port attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during a Device port attempt to write CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during a Device port attempt to write a byte to CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during an I960 attempt to write
CACHEB0 memory.
The CACHEB0 DRAB detected a Write Data
Parity error during an I960 attempt to write a byte to CACHEB0 memory.
Repair
Action
Code
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
HSD50 Array Controller
Appendix A
HSD50 Array Controller
01E73102
01E83102
01E93102
01EA3702
01EB3702
01EC3702
01ED3702
01EE3702
02020064
Instance,
Code
01E23102
01E33102
01E43102
01E53102
01E63102
02032001
A - 15
Explanation
The CACHEB1 DRAB detected a Write Data
Parity error during an FX attempt to write
CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during an FX attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during a Host port attempt to write
CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during a Host port attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during a Device port attempt to write CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during a Device port attempt to write a byte to CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during an I960 attempt to write
CACHEB1 memory.
The CACHEB1 DRAB detected a Write Data
Parity error during an I960 attempt to write a byte to CACHEB1 memory.
The Master DRAB unexpectedly reported a
Write Data Parity error.
The CACHEA0 DRAB unexpectedly reported a Write Data Parity error.
The CACHEA1 DRAB unexpectedly reported a Write Data Parity error.
The CACHEB0 DRAB unexpectedly reported a Write Data Parity error.
The CACHEB1 DRAB unexpectedly reported a Write Data Parity error.
Disk Bad Block Replacement attempt completed for a write within the user data area of the disk. Note that due to the way Bad
Block Replacement is performed on SCSI disk drives, information on the actual replacement blocks is not available to the controller and is therefore not included in the event report.
Journal SRAM backup battery failure; detected during system restart. The Memory
Address field contains the starting physical address of the Journal SRAM.
Repair
Action
Code
31
31
31
31
31
31
31
31
20
37
37
00
37
37
37
Service Manual
A - 16
Service Manual
Instance,
Code
02042001
02052301
02062301
02072201
02082201
02090064
020A0064
020B2201
020C2201
Appendix A
Explanation
Journal SRAM backup battery failure; detected during periodic check. The Memory
Address field contains the starting physical address of the Journal SRAM.
A processor interrupt was generated by the
CACHE Dynamic Ram controller and
ArBitration engine (DRAB) with an indication that the CACHE backup battery has failed or is low (needs charging). The Memory Address field contains the starting physical address of the CACHEA0 memory.
The CACHE backup battery has been declared bad. Either it failed testing performed by the cache diagnostics during system startup or it was too low (insufficiently charged) for the expected duration. The Memory Address field contains the starting physical address of the CACHEA0 memory.
The CACHE Dynamic Ram controller and
ArBitration engine 0 (DRAB0) failed testing performed by the cache diagnostics. The
Memory Address field contains the starting physical address of the CACHEA0 memory.
The CACHE Dynamic Ram controller and
ArBitration engine 1 (DRAB1) failed testing performed by the cache diagnostics. The
Memory Address field contains the starting physical address of the CACHEA1 memory.
A data compare error was detected during the execution of a compare modified READ or
WRITE command.
A data compare error was detected during the execution of a compare modified READ or
WRITE command. Note that in this instance, the SCSI Device Sense Data fields, cmdopcd through keyspec, are undefined.
A failed read test of a write-back metadata page residing in cache occurred. Dirty writeback cached data exists and cannot be flushed to media. The dirty data is lost. The Memory
Address field contains the starting physical address of the CACHEA0 memory.
cache diagnostics have declared the cache bad during testing. The Memory Address field contains the starting physical address of the
CACHEA0 memory.
Repair
Action
Code
20
23
23
22
22
00
00
22
22
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
020D2401
020E2401
020F2401
02102401
02110064
02120064
02130064
02140064
02150064
A - 17
Explanation
The wrong write cache module is configured.
The serial numbers do not match. Either the existing or the expected cache contains dirty write-back cached data. Note that in this instance, the Memory Address, Byte Count,
DRAB register, and Diagnostic register fields are undefined.
The write cache module is missing. A cache is expected to be configured and contains dirty write-back cached data. Note that in this instance, the Memory Address, Byte Count,
DRAB register, and Diagnostic register fields are undefined.
The write cache modules are not configured properly for a dual-redundant configuration.
One of the write cache modules is not present to perform cache failover of dirty write-back cached data. Note that in this instance, the
Memory Address, Byte Count, DRAB register, and Diagnostic register fields are undefined.
The write cache modules are not configured properly for a dual-redundant configuration.
One of the cache modules is not the same size to perform cache failover of dirty write-back cached data. Note that in this instance, the
Memory Address, Byte Count, DRAB register, and Diagnostic register fields are undefined.
Disk Bad Block Replacement attempt completed for a read within the user data area of the disk. Note that due to the way Bad
Block Replacement is performed on SCSI disk drives, information on the actual replacement blocks is not available to the controller and is therefore not included in the event report.
There are insufficient resources to complete operation in a SCSI environment. Insufficient resources returned from HIS,
CREATE_RECEIVE_DATA.
The tape device does not contain any medium.
The unit has been marked inoperative or
UNKNOWN. In either case, the unit is not available.
The Unit State Block unit status, associated with this I/O has changed to the UNKNOWN state. Therefore, the I/O was aborted.
Repair
Action
Code
24
24
24
24
00
00
00
00
00
Service Manual
A - 18
Service Manual
Instance,
Code
02160064
0217000A
0218000A
02192401
021A0064
021B0064
021D0064
021E0064
Appendix A
Explanation
A request was received to abort this command.
Raid support is enabled but not licensed on this controller. Any use of this feature requires licensing. Continued use does not comply with the terms and conditions of licensing for this product.
Write-back cache support is enabled but not licensed on this controller. Any use of this feature requires licensing. Continued use does not comply with the terms and conditions of licensing for this product.
The cache modules are not configured properly for a dual-redundant configuration.
One of the cache modules is not the same type
(both write -back cache) which is necessary to perform cache failover of dirty write-back cached data. Note that in this instance, the
Memory Address, Byte Count, DRAB register, and Diagnostic register fields are undefined.
Disk Bad Block Replacement attempt completed for a write of controller metadata to a location outside the user data area of the disk. Note that due to the way Bad Block
Replacement is performed on SCSI disk drives, information on the actual replacement blocks is not available to the controller and is therefore not included in the event report.
Disk Bad Block Replacement attempt completed for a read of controller metadata from a location outside the user data area of the disk. Note that due to the way Bad Block
Replacement is performed on SCSI disk drives, information on the actual replacement blocks is not available to the controller and is therefore not included in the event report.
Unable to lock the other controller’s cache in a write-cache failover attempt. Either a latent error could not be cleared on the cache or the other controller did not release its cache. Note that in this instance, the Memory Address,
Byte Count, DRAB register, and Diagnostic register fields are undefined.
The device specified in the Device Locator field has been added to the RAIDset associated with the logical unit.
The RAIDset is now in Reconstructing state.
00
24
00
00
00
00
Repair
Action
Code
00
00
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
021F0064
02200064
02210064
02220064
02230064
02240064
0227000A
02280064
02290064
A - 19
Explanation
The device specified in the Device Locator field has been removed from the RAIDset associated with the logical unit.
The removed device is now in the Failedset.
The RAIDset is now in Reduced state.
The device specified in the Device Locator field failed to be added to the RAIDset associated with the logical unit.
The device will remain in the spareset.
The device specified in the Device Locator field failed to be added to the RAIDset associated with the logical unit.
The failed device has been moved to the
Failedset.
The RAID set associated with the logical unit has transitioned from Reconstructing state to
Normal state. Note that in this instance, information supplied in the Device Locator,
Device Firmware Revision Level, Device
Product ID, and Device Type fields is for the first device in the RAID set.
The RAIDset associated with the logical unit has gone inoperative. Note that in this instance, information supplied in the Device
Locator, Device Firmware Revision Level,
Device Product ID, and Device Type fields is for the first device in the RAIDset.
The RAIDset associated with the logical unit has transitioned from Normal state to
Reconstructing state. Note that in this instance, information supplied in the Device
Locator, Device Firmware Revision Level,
Device Product ID, and Device Type fields is for the first device in the RAIDset.
Mirroring support is enabled but not licensed on this controller. Any use of this feature requires licensing. Continued use does not comply with the terms and conditions of licensing for this product.
The device specified in the Device Locator field has been added to the mirrorset associated with the logical unit. The new mirrorset member is now in the Copying state.
The device specified in the Device Locator field has been removed from the mirrorset associated with the logical unit. The removed device is now in the Failedset.
Repair
Action
Code
00
00
00
00
00
00
00
00
00
Service Manual
A - 20
Service Manual
Instance,
Code
022A0064
022B0064
022C0064
022D0064
022E0064
022F0064
02300064
02310064
023B0064
023C0064
Appendix A
Explanation
The device specified in the Device Locator field failed to be added to the mirrorset associated with the logical unit. The device will remain in the Spareset.
The device specified in the Device Locator field failed to be added to the mirrorset associated with the logical unit. The failed device has been moved to the Failedset.
The device specified in the Device Locator has transitioned from Copying or Normalizing state to Normal state.
The mirrorset associated with the logical unit has gone inoperative. Note that in this instance, information supplied in the Device
Locator, Device Firmware Revision Level
Device Product ID, and Device Type fields is for the first device in the mirrorset .
The device specified in the Device Locator field has been converted to a mirrorset unit.
The mirrored device specified in the Device
Locator field has been converted to a single device associated with the logical unit.
The device specified in the Device Locator field has been reduced from its associated mirrorset. The nominal number of members in the mirrorset has been decreased by one. The reduced device is now available for use.
The mirrorset associated with the logical unit has had its nominal membership changed. The new nominal number of members for the mirrorset is specified in the Associated Port field. Note that in this instance, information supplied in the Device Locator, Device
Firmware Revision Level, Device Product ID, and Device Type fields is for the first device in the mirrorset . This Instance, code has been removed from the HSOF Version 2.7 release.
The device specified in the Device Locator field had a read error that has been repaired with data from another mirrorset member.
The device specified in the Device Locator field had a read error. Attempts to repair the error with data from another mirrorset member failed bacause of a lack of alternate error-free data source.
Repair
Action
Code
00
00
00
00
00
00
00
00
00
00
HSD50 Array Controller
Appendix A
Instance,
Code
023D0064
02422464
02432201
02442201
02452201
02460064
02470064
02480064
Explanation
The device specified in the Device Locator field had a read error. Attempts to repair the error with data from another mirrorset member failed because of a write error on the original device. The original device will be removed from the mirrorset.
Cache failover attempt failed because the other cache was illegally configured with
SIMMs. Note that in this instance, the memory address, byte count, DRAB register, and
Diagnostic register fields are undefined.
The CACHE Dynamic Ram controller and
ArBitration engine 0 (DRAB0) failed cache diagnostics testing performed on Cache B
(other cache) during a cache failover attempt.
The memory address field contains the starting physical address of the CACHEB0 memory.
The CACHE Dynamic Ram controller and
ArBitration engine 1 (DRAB1) failed cache diagnostics testing performed on Cache B
(other cache) during a cache failover attempt.
The memory address field contains the starting physical address of the CACHEB1 memory.
The CACHE Dynamic Ram controller and
ArBitration engine 0 and 1 (DRAB0 and
DRAB1) failed cache diagnostics testing performed on Cache B (other cache) during a cache failover attempt. The memory address field contains the starting physical address of the CACHEB1 memory.
The A Write Append Position Error occurred during a tape write but no recovery was attempted because the attempted transfer did not meet the parameters for a recoverable
Write Append Position Error.
When attempting to recover a Write Append
Position Error on a tape unit, the recovery failed to start because resources required for the recovery were not available.
When attempting to recover a Write Append
Position Error on a tape unit, an error occurred during the recovery.
Repair
Action
Code
00
24
22
22
22
00
00
00
A - 21
HSD50 Array Controller Service Manual
A - 22
Service Manual
Instance,
Code
024B2401
024F2401
02502401
0251000A
0252000A
0253000A
0254000A
0255000A
0256000A
Appendix A
Explanation
The Write-back caching has been disabled either due to a cache or battery related problem. The exact nature of the problem is reported by other instance, codes. Note that in this instance, the memory address, byte count,
DRAB register, and Diagnostic register fields are undefined.
This cache module is populated with SIMMs incorrectly. Cache metadata resident in the cache module indicates that unflushed write cache data exists for a cache size different than what is found present. Note that in this instance, the memory address, byte count,
DRAB register and Diagnostic register fields are undefined.
The cache module has memory SIMMs populated in an unsupported configuration.
Note that in this instance, the memory address, byte count, DRAB register, and Diagnostic register fields are undefined.
The command failed because the target unit is not online to the controller. The Information field of the Device Sense Data contains the block number of the first block in error.
The last block of data returned contains a forced error. A forced error occurs when a disk block is successfully reassigned, but the data in that block is lost. Rewriting the disk block will clear the forced error condition.
The Information field of the Device Sense
Data contains the block number of the first block in error.
The data supplied from the host for a data compare operation differs from the data on the disk in the specified block. The Information field of the Device Sense Data contains the block number of the first block in error.
The command failed due to a host data transfer failure. The information field of the
Device Sense Data contains the block number of the first block in error.
The controller was unable to successfully transfer data to target unit.
The write operation failed because the unit is data safety write protected.
Repair
Action
Code
24
24
24
00
00
00
00
00
00
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
0257000A
0258000A
0259000A
025A000A
025B000A
025C000A
025D000A
025E0064
03010101
03022002
A - 23
Explanation
An attempt to reassign a bad disk block failed.
The contents of the disk block is lost. The
Information field of the Device Sense Data contains the block number of the first block in error.
The command was aborted prior to completion. The Information field of the
Device Sense Data contains the block number of the first block in error.
The write operation failed because the unit is hardware write protected. The Information field of the Device Sense Data contains the block number of the first block in error.
The command failed because the unit became inoperative prior to command completion.
The Information field of the Device Sense
Data contains the block number of the first block in error.
The command failed because the unit became unknown to the controller prior to command completion. The Information field of the
Device Sense Data contains the block number of the first block in error.
The command failed because of a unit media format error. The Information field of the
Device Sense Data contains the block number of the first block in error.
The command failed for an unknown reason.
The Information field of the Device Sense
Data contains the block number of the first block in error.
The mirrorset unit associated with the logical unit has had its nominal membership changed.
The information provided in the device locator, device type , device identification, and the device serial number fields is for the first device in the mirrorset.
No command control structures available for disk operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
A SCSI interface chip command time-out occurred during disk operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Repair
Action
Code
00
00
00
00
00
00
00
00
01
20
Service Manual
A - 24
Service Manual
Instance,
Code
03034002
03044402
03052002
03062002
03070101
03080101
03094002
030C4002
030D000A
030E4002
030F4002
03104002
0311430A
0312430A
Appendix A
Explanation
Byte transfer time-out during disk operation.
Note that in this instance, the Associated
Additional Sense Code and Associated
Additional Sense Code Qualifier fields are undefined.
SCSI bus errors during disk operation. Note that in this instance, the Associated Additional
Sense Code and Associated Additional Sense
Code Qualifier fields are undefined.
Device port SCSI chip reported gross error during disk operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Non-SCSI bus parity error during disk operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Source driver programming error encountered during disk operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Miscellaneous SCSI Port Driver coding error detected during disk operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
An unrecoverable disk drive error was encountered while performing work related to disk unit operations.
A Drive failed because a Test Unit Ready command or a Read Capacity command failed.
Drive was failed by a Mode Select command received from the host.
Drive failed due to a deferred error reported by drive.
Unrecovered Read or Write error.
No response from one or more drives.
Nonvolatile memory and drive metadata indicate conflicting drive configurations.
The Synchronous Transfer Value differs between drives in the same storageset.
Repair
Action
Code
40
44
20
20
01
01
40
40
00
40
40
40
43
43
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
03134002
03144002
03154002
03164002
03170064
03180064
03194002
031A4002
031B0101
031C4002
031D4002
031E4002
031F4002
03204002
03214002
03224002
03234002
03244002
03254002
0326450A
03270101
0328450A
03324002
03330002
03344002
03354002
A - 25
Explanation
Maximum number of errors for this data transfer operation exceeded.
Drive reported recovered error without transferring all data.
Data returned from drive is invalid.
Request Sense command to drive failed.
Illegal command for pass through mode.
Data transfer request error.
Premature completion of a drive command.
Command time-out.
Watchdog timer time-out.
Disconnect time-out.
Unexpected bus phase.
Disconnect expected.
ID message not sent by drive.
Synchronous negotiation error.
The drive unexpectedly disconnected from the
SCSI bus.
Unexpected message.
Unexpected Tag message.
Channel busy.
Message Reject received on a valid message.
The disk device reported Vendor Unique SCSI
Sense Data.
A disk related error code was reported that was unknown to the Fault Management firmware. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
The disk device reported standard SCSI Sense
Data.
SCSI bus selection time-out.
Device power on reset.
Target assertion of REQ after WAIT
DISCONNECT.
During device initialization a Test Unit Ready command or a Read Capacity command to the drive failed.
45
40
00
40
40
40
40
40
40
40
40
00
40
40
01
40
40
00
Repair
Action
Code
40
40
40
40
40
40
45
01
Service Manual
A - 26
Service Manual
03434002
03644002
03674002
0368000A
03694002
036A4002
036B4002
036C430A
036D430A
Instance,
Code
03364002
03374002
03384002
03394002
033A4002
033B4002
033C4002
033D4002
033E4002
033F0101
03402002
03410101
03420101
Appendix A
Explanation
During device initialization the device reported a deferred error.
During device initialization the maximum number of errors for a data transfer operation was exceeded.
Request Sense command to the device failed.
Command time-out.
Disconnect time-out.
Unexpected bus phase.
The device unexpectedly disconnected from the SCSI bus.
Unexpected message
Message Reject received on a valid message.
No command control structures available for pass-through device operation.
Device port SCSI chip reported gross error.
Miscellaneous SCSI Port Driver coding error.
A pass-through device related internal error code was reported that is not recognized by the Fault Management firmware of the HSZ controller.
During device initialization , the device reported unexpected standard SCSI Sense
Data.
An unrecoverable tape drive error was encountered while performing work related to tape unit operations.
A Drive failed because a Test Unit Ready command or a Read Capacity command failed.
Drive was failed by a Mode Select command received from the host.
Drive failed due to a deferred error reported by drive.
Unrecovered Read or Write error.
No response from one or more drives.
Nonvolatile memory and drive metadata indicate conflicting drive configurations.
The Synchronous Transfer Value differs between drives in the same storageset.
40
01
40
40
40
43
43
00
40
20
01
01
40
40
01
40
40
40
40
40
Repair
Action
Code
40
40
HSD50 Array Controller
Appendix A A - 27
HSD50 Array Controller
Instance,
Code
036E4002
036F4002
03704002
03714002
03720064
03730064
03744002
03754002
03760101
03774002
03784002
03794002
037A4002
037B4002
037C4002
037D4002
037E4002
037F4002
03804002
0381450A
03820101
03832002
03844002
Explanation
Maximum number of errors for this data transfer operation exceeded.
Drive reported recovered error without transferring all data.
Data returned from drive is invalid.
Request Sense command to drive failed.
Illegal command for pass through mode.
Data transfer request error.
Premature completion of a drive command.
Command time-out.
Watchdog timer time-out.
Disconnect time-out.
Unexpected bus phase.
Disconnect expected.
Message not sent by drive.
Synchronous negotiation error.
The drive unexpectedly disconnected from the
SCSI bus.
Unexpected message.
Unexpected Tag message.
Channel busy.
Message Reject received on a valid message.
The tape device reported Vendor Unique SCSI
Sense Data.
No command control structures available for tape operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
A SCSI interface chip command time-out occurred during tape operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Byte transfer time-out during tape operation.
Note that in this instance, the Associated
Additional Sense Code and Associated
Additional Sense Code Qualifier fields are undefined.
20
40
40
40
40
40
40
40
00
40
40
01
40
40
00
Repair
Action
Code
40
40
40
40
40
40
45
01
Service Manual
A - 28
Service Manual
Instance,
Code
03854402
03862002
03872002
03880101
03890101
038A0101
038B450A
03964002
03994002
039A000A
039B4002
039C4002
039D4002
Appendix A
Explanation
SCSI bus errors occurred during tape operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Device port SCSI chip reported gross error during tape operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
A non-SCSI bus parity error occurred during tape operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
A source driver programming error was encountered during tape operation. Note that in this instance, the Associated Additional
Sense Code and Associated Additional Sense
Code Qualifier fields are undefined.
A miscellaneous SCSI Port Driver coding error was encountered during tape operation.
Note that in this instance, the Associated
Additional Sense Code and Associated
Additional Sense Code Qualifier fields are undefined.
A tape-related error code was reported that was unknown to the Fault Management firmware. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
The tape device reported standard SCSI Sense
Data.
An unrecoverable media loader error was encountered while performing work related to media loader operations.
A Drive failed because a Test Unit Ready command or a Read Capacity command failed.
The drive was failed by a Mode Select command received from the host.
The drive failed due to a deferred error reported by drive.
Unrecovered Read or Write error.
No response from one or more drives.
Repair
Action
Code
44
20
20
01
01
01
45
40
40
00
40
40
40
HSD50 Array Controller
Appendix A
Instance,
Code
039E430A
039F430A
03A04002
03A14002
03A24002
03A34002
03A40064
03A50064
03A64002
03A74002
03A80101
03A94002
03AA4002
03AB4002
03AC4002
03AD4002
03AE4002
03AF4002
03B04002
03B14002
03B24002
03B3450A
03B40101
03B52002
Explanation
Nonvolatile memory and drive metadata indicate conflicting drive configurations.
The Synchronous Transfer Value differs between drives in the same storageset.
Maximum number of errors for this data transfer operation exceeded.
The drive reported recovered error without transferring all data.
Data returned from drive is invalid.
Request Sense command to drive failed.
Illegal command for pass through mode.
Data transfer request error.
Premature completion of a drive command.
Command time-out.
Watchdog timer time-out.
Disconnect time-out.
Unexpected bus phase.
Disconnect expected.
ID message not sent by drive.
Synchronous negotiation error.
The drive unexpectedly disconnected from the
SCSI bus.
Unexpected message..
Unexpected Tag message.
Channel busy.
Message Reject received on a valid message.
SCSI Sense Data.
No command control structures available for media loader operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
SCSI interface chip command time-out during media loader operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
20
43
40
Repair
Action
Code
43
40
40
40
01
40
40
40
00
00
40
40
40
40
40
40
44
01
40
40
40
A - 29
HSD50 Array Controller Service Manual
A - 30
Service Manual
Instance,
Code
03B64002
03B74402
03B82002
03B92002
03BA0101
03BB0101
03BC0101
03BD450A
03C80101
Appendix A
Explanation
Byte transfer time-out during media loader operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
SCSI bus errors during media loader operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Device port SCSI chip reported gross error during media loader operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Non-SCSI bus parity error during media loader operation. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Source driver programming error encountered during media loader operation. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Miscellaneous SCSI Port Driver coding error detected during media loader operation. Note that in this instance, the Associated Additional
Sense Code and Associated Additional Sense
Code Qualifier fields are undefined.
A media loader related error code was reported that was unknown to the Fault
Management firmware. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
The media changer device reported standard
SCSI Sense Data.
No command control structures available for operation to a device which is unknown to the controller. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Repair
Action
Code
40
44
20
20
01
01
01
45
01
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
03C92002
03CA4002
03CB0101
03CC0101
03CD2002
03CE2002
03CF0101
03D04002
A - 31
Explanation
SCSI interface chip command time-out during operation to a device which is unknown to the controller. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Byte transfer time-out during operation to a device which is unknown to the controller.
Note that in this instance, the Associated
Additional Sense Code and Associated
Additional Sense Code Qualifier fields are undefined.
Miscellaneous SCSI Port Driver coding error detected during operation to a device which is unknown to the controller. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
An error code was reported that was unknown to the Fault Management firmware. Note that in this instance, the Associated Additional
Sense Code and Associated Additional Sense
Code Qualifier fields are undefined.
Device port SCSI chip reported gross error during operation to a device which is unknown to the controller. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
Non-SCSI bus parity error during operation to a device which is unknown to the controller.
Note that in this instance, the Associated
Additional Sense Code and Associated
Additional Sense Code Qualifier fields are undefined.
Source driver programming error encountered during operation to a device which is unknown to the controller. Note that in this instance, the Associated Additional Sense
Code and Associated Additional Sense Code
Qualifier fields are undefined.
A failure occurred while attempting a SCSI
Test Unit Ready or Read Capacity command to a device. The device type is unknown to the controller. Note that in this instance, the
Associated Additional Sense Code and
Associated Additional Sense Code Qualifier fields are undefined.
Repair
Action
Code
20
40
01
01
??
20
01
40
Service Manual
A - 32
Instance,
Code
03D24402
03D3450A
03D4450A
03D5450A
03D6450A
03D7450A
Appendix A
Explanation
SCSI bus errors during device operation. The device type is unknown to the controller. Note that in this instance, the Associated Additional
Sense Code and Associated Additional Sense
Code Qualifier fields are undefined.
During device initialization, the device reported the SCSI Sense Key NO SENSE.
This indicates that there is no specific sense key information to be reported for the designated logical unit. This would be the case for a successful command or a command that received CHECK CONDITION or
COMMAND TERMINATED status because one of the FM, EOM, or ILI bits is set to one in the sense data flags field.
During device initialization, the device reported the SCSI Sense Key RECOVERED
ERROR. This indicates the last command completed successfully with some recovery action performed by the target.
During device initialization, the device reported the SCSI Sense Key NOT READY.
This indicates that the logical unit addressed cannot be accessed. Operator intervention may be required to correct this condition.
During device initialization, the device reported the SCSI Sense Key MEDIUM
ERROR. This indicates that the command terminated with a non-recovered error condition that was probably caused by a flaw in the medium or an error in the recorded data.
This sense key also may be returned if the target is unable to distinguish between a flaw in the medium and a specific hardware failure
(HARDWARE ERROR sense key).
During device initialization, the device reported the SCSI Sense Key HARDWARE
ERROR. This indicates that the target detected a non-recoverable hardware failure (for example, controller failure, device failure, parity error, etc.) while performing the command or during a self test.
Repair
Action
Code
44
45
45
45
45
45
Service Manual HSD50 Array Controller
Appendix A A - 33
HSD50 Array Controller
Instance,
Code
03D8450A
03D9450A
03DA450A
03DB450A
03DC450A
03DD450A
Explanation
During device initialization, the device reported the SCSI Sense Key ILLEGAL
REQUEST. This indicates that there was an illegal parameter in the command descriptor block or in the additional parameters supplied as data for some commands (FORMAT UNIT,
SEARCH DATA, etc.).
If the target detects an invalid parameter in the command descriptor block, then it will terminate the command without altering the medium.
If the target detects an invalid parameter in the additional parameters supplied as data, then the target may have already altered the medium.
This sense key also may indicate that an invalid IDENTIFY message was received.
During device initialization, the device reported the SCSI Sense Key UNIT
ATTENTION. This indicates that the removable medium may have been changed or the target has been reset.
During device initialization, the device reported the SCSI Sense Key DATA
PROTECT. This indicates that a command that reads or writes the medium was attempted on a block that is protected from this operation. The read or write operation is not performed.
During device initialization, the device reported the SCSI Sense Key BLANK
CHECK. This indicates that a write-once device encountered blank medium or formatdefined end-of-data indication while reading or a write-once device encountered a nonblank medium while writing.
During device initialization, the device reported a SCSI Vendor Specific Sense Key.
This sense key is available for reporting vendor specific conditions.
During device initialization, the device reported the SCSI Sense Key COPY
ABORTED. This indicates a COPY,
COMPARE, or COPY AND VERIFY command was aborted due to an error condition on the source device, the destination device, or both.
Repair
Action
Code
45
45
45
45
45
45
Service Manual
A - 34
Service Manual
Instance,
Code
03DE450A
03DF450A
03E0450A
03E1450A
03E2450A
03E60702
03E70602
03E80D02
03E90E02
Appendix A
Explanation
During device initialization, the device reported the SCSI Sense Key ABORTED
COMMAND. This indicates the target aborted the command. The initiator may be able to recover by trying the command again.
During device initialization, the device reported the SCSI Sense Key EQUAL. This indicates a SEARCH DATA command has satisfied an equal comparison.
During device initialization, the device reported the SCSI Sense Key VOLUME
OVERFLOW. This indicates a buffered peripheral device has reached the end-ofpartition and data may remain in the buffer that has not been written to the medium. A
RECOVER BUFFERED DATA command(s) may be issued to read the unwritten data from the buffer.
During device initialization, the device reported the SCSI Sense Key MISCOMPARE.
This indicates the source data did not match the data read from the medium.
During device initialization, the device reported a reserved SCSI Sense Key.
The EMU has detected one or more bad power supplies. Note that in this instance, the
Associated Target, Associated Additional
Sense Code, and Associated Additional Sense
Code Qualifier fields are undefined.
The EMU has detected one or more bad fans.
Note that in this instance, the Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
The EMU has detected an elevated temperature condition. Note that in this instance, the Associated Target, Associated
Additional Sense Code, and Associated
Additional Sense Code Qualifier fields are undefined.
The EMU has detected an external air sense fault Note that in this instance, the Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
Repair
Action
Code
45
45
45
45
45
07
06
0D
0E
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
03EA0F02
03EB0F02
03EC0F02
03ED0F02
03F00402
03F10502
03F20064
A - 35
Explanation
The EMU-detected power supply fault is now fixed. Note that in this instance, the
Associated Target, Associated Additional
Sense Code, and Associated Additional Sense
Code Qualifier fields are undefined.
The EMU-detected bad fan fault is now fixed.
Note that in this instance, the Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
The EMU-detected elevated temperature fault is now fixed. Note that in this instance, the
Associated Target, Associated Additional
Sense Code, and Associated Additional Sense
Code Qualifier fields are undefined.
The EMU-detected external air sense fault is now fixed. Note that in this instance, the
Associated Target, Associated Additional
Sense Code, and Associated Additional Sense
Code Qualifier fields are undefined.
The shelf indicated by the port field is reporting a problem. This could mean one or both of the following:
If the shelf is using dual power supplies, one power supply has failed.
One of the shelf cooling fans has failed.
Note that in this instance, the Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
The SWAP interrupt from the shelf indicated by the port field can not be cleared. All SWAP interrupts from all ports will be disabled until corrective action is taken. When SWAP interrupts are disabled, neither controller front panel button presses nor removal/insertion of devices are detected by the controller. Note that in this instance, the Associated Target,
Associated Additional Sense Code, and
Associated Additional Sense Code Qualifier fields are undefined.
The SWAP interrupts have been cleared and re-enabled for all shelves. Note that in this instance, the Associated Port, Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
Repair
Action
Code
0F
0F
0F
0F
04
05
00
Service Manual
A - 36
Service Manual
Instance,
Code
03F30064
03F40064
03F50402
07030B0A
07040B0A
07050064
Appendix A
Explanation
An asynchronous SWAP interrupt was detected by the controller for the shelf indicated by the port field. Possible reasons for this occurrence include device insertion/removal shelf power failure
SWAP interrupts re-enabled
Note that in this instance, the Associated
Target, Associated Additional Sense Code, and Associated Additional Sense Code
Qualifier fields are undefined.
Device services had to reset the port to clear a bad condition. Note that in this instance, the
Associated Target, Associated Additional
Sense Code, and Associated Additional Sense
Code Qualifier fields are undefined.
The controller shelf is reporting a problem.
This could mean one or both of the following:
If the shelf is using dual power supplies, one power supply has failed.
One of the shelf cooling fans has failed. Note that in this instance, the Associated
Target, Associated Additional Sense
Code, and Associated Additional Sense
Code Qualifier fields are undefined.
Failover Control detected a receive packet sequence number mismatch. The controllers are out of synchronization with each other and are unable to communicate. Note that in this instance, the Last Failure Code and Last
Failure Parameters fields are undefined.
Failover Control detected a transmit packet sequence number mismatch. The controllers are out of synchronization with each other and are unable to communicate. Note that in this instance, the Last Failure Code and Last
Failure Parameters fields are undefined.
Failover Control received a Last Gasp message from the other controller. The other controller is expected to restart itself within a given time period. If it does not, it will be held reset with the Kill line.
Repair
Action
Code
00
00
04
0B
0B
40
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
07060C01
07070C01
07080B0A
40016001
40026001
4003640A
4004020A
4007640A
4009640A
400A640A
400D640A
400E640A
400F640A
4015020A
4029010A
A - 37
Explanation
Failover Control detected that both controllers are acting as SCSI ID 6. Since IDs are determined by hardware, it is unknown which controller is the real SCSI ID 6. Note that in this instance, the Last Failure Code and Last
Failure Parameters fields are undefined.
Failover Control detected that both controllers are acting as SCSI ID 7. Since IDs are determined by hardware, it is unknown which controller is the real SCSI ID 7. Note that in this instance, the Last Failure Code and Last
Failure Parameters fields are undefined.
Failover Control was unable to send keep alive communication to the other controller. It is assumed that the other controller is hung or not started. Note that in this instance, the Last
Failure Code and Last Failure Parameters fields are undefined.
CI A/B transmit cables are crossed.
CI A/B receive cables are crossed.
CI Port detected a Dual Receive condition that resulted in the closure of the Virtual Circuit.
This error condition will be eliminated in a future CI interface chip.
Host Interconnect Services detected protocol error upon validating a received packet.
CI Port detected error upon attempting to transmit a packet. This resulted in the closure of the Virtual Circuit.
CI Port detected bad path A upon attempting to transmit a packet.
CI Port detected bad path B upon attempting to transmit a packet.
CI Port detected bad path A upon attempting to transmit a packet.
CI Port detected bad path B upon attempting to transmit a packet.
Host Interconnect Services detected packet sequence number mismatch.
Remote SYSAP sent an SCS APPL_MSG but no receive credit was available.
Illegal connection state. Not in
CONNECT_REC connection state when an
SCS ACCEPT_REQ is pending.
60
60
64
Repair
Action
Code
0C
0C
0B
02
64
64
64
64
64
64
02
01
Service Manual
A - 38
Service Manual
Instance,
Code
402A010A
402B010A
402C010A
403D020A
40440064
4051020A
4052020A
4053020A
4054020A
4055020A
4056020A
4057020A
4058020A
4059020A
405A020A
405B020A
Appendix A
Explanation
Illegal connection state. Not in
CONNECT_REC connection state when an
SCS REJECT_REQ is pending.
Illegal connection state. Not in CLOSED connection state when an SCS
CONNECT_REQ is pending.
Illegal connection state. Not in OPEN or
DISCONNECT_REC connection state when an SCS DISCONNECT_REQ is pending.
Received packet with an unrecognized PPD opcode. Note that the content of the vcstate field is undefined in this instance,.
Received a PPD NODE_STOP and closed virtual circuit.
Received SCS CONNECT_RSP when not in
CONNECT_SENT connection state.
Received SCS CONNECT_RSP when the connection is no longer valid.
Received SCS ACCEPT_REQ when not in
CONNECT_ACK connection state.
Received SCS ACCEPT_RSP when not in the
ACCEPT_SENT connection state.
Received SCS REJECT_REQ when not in the
CONNECT_ACK connection state.
Received SCS REJECT_RSP when not in the
REJECT_SENT connection state.
Received SCS DISCONNECT_REQ when not in the OPEN, DISCONNECT_SENT or
DISCONNECT_ACK connection state.
Received SCS DISCONNECT_RSP when not in the DISCONNECT_SENT or
DISCONNECT_MATCH connection state.
Received SCS CREDIT_REQ when in the
DISCONNECT_REC or
DISCONNECT_MATCH connection state.
Received SCS APPL_MSG when in the
DISCONNECT_SENT or
DISCONNECT_ACK connection state.
Received SCS ACCEPT_REQ on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the “vcstate, ” “remote node name, ” “remote connection id” and
“connection state” fields are undefined.
Repair
Action
Code
01
01
01
02
02
02
02
02
00
02
02
02
02
02
02
02
HSD50 Array Controller
Appendix A
HSD50 Array Controller
Instance,
Code
405C020A
405D020A
405E020A
405F020A
4060020A
4061020A
4062020A
4063020A
A - 39
Explanation
Received SCS ACCEPT_RSP on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS REJECT_REQ on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS REJECT_RSP on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS DISCONNECT_REQ on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS DISCONNECT_RSP on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS CREDIT_REQ on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS CREDIT_RSP on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS APPL_MSG on a connection that is no longer valid. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Repair
Action
Code
02
02
02
02
02
02
02
02
Service Manual
A - 40
Service Manual
Instance,
Code
4064020A
4065020A
4066020A
4067020A
41010064
41020064
82012002
82042002
82052002
82062002
82072002
Appendix A
Explanation
Received an unrecognized SCS message. Note that in this instance, if the connection id field is zero, the content of the vcstate, remote node name, remote connection id and connection state fields are undefined.
Received SCS CONNECT_RSP with an unrecognized status. Connection is broken by
Host Interconnect Services.
Received SCS REJECT_REQ with an invalid reason.
Received SCS APPL_MSG with no receive credit available.
SCSI Host Interconnect Services has detected that the other controller, identified in the
Failed Controller Target Number and Other
Controller Board Serial Number sense data fields, has failed and that the controller reporting the event has assumed control of the units identified in the Affected LUNs sense data field.
SCSI Host Interconnect Services has detected that the other controller, identified in the
Failed Controller Target Number and Other
Controller Board Serial Number sense data fields, is again operational and that the controller reporting the event is willing to relinquish control of the units identified in the affected LUNs sense data field.
An unrecoverable error was detected during execution of the Device port Subsystem Built-
In Self Test. One or more of the device ports on the controller module has failed; some/all of the attached storage is no longer accessible via this controller.
A spurious interrupt was detected during the execution of a Subsystem Built-In Self Test.
An unrecoverable error was detected during execution of the HOST PORT Subsystem
Test. The system will not be able to communicate with the host.
An unrecoverable error was detected during execution of the UART/DUART Subsystem
Test. This will cause the console to be unusable. This will cause failover communications to fail.
An unrecoverable error was detected during execution of the FX Subsystem Test.
Repair
Action
Code
02
02
02
02
00
00
20
20
20
20
20
HSD50 Array Controller
Appendix A A - 41
Instance,
Code
82082002
Explanation
An unrecoverable error was detected during execution of the nbuss init Test.
Repair
Action
Code
20
HSD50 Array Controller
Last fail codes
The following tables contain last fail codes and their definitions. Use these tables if your subsystem or controller is out of service due to some type of failure and you cannot use FMU to translate the last fail code.
These codes are presented in tables according to the software component that was the source of the error. However, they are also sorted numerically, so you can scan down the list until you find the code you’re looking for.
Table A–2 Executive services last failure codes
Last Fail Code Explanation
01000100
Repair
Action
Code
01
01010100
01020100
01030100
01040100
01050104
01070100
Memory allocation failure during executive initialization.
An interrupt without any handler was triggered.
Entry on timer queue was not of type AQ or
BQ.
Memory allocation for a facility lock failed.
Memory initialization called with invalid memory type.
The I960 reported a fault.
Last Failure Parameter[0] contains the PC value.
Last Failure Parameter[1] contains the AC value.
Last Failure Parameter[2] contains the fault type and subtype values.
Last Failure Parameter[3] contains the address of the faulting instruction.
Timer chip setup failed.
01
01
01
01
01
01
Service Manual
A - 42 Appendix A
Last Fail Code
01082004
01090105
010A2080
010B2380
010C2380
Explanation
The core diagnostics reported a fault.
Last Failure Parameter[0] contains the error code value (same as blinking OCP LEDs error code).
Last Failure Parameter[1] contains the address of the fault.
Last Failure Parameter[2] contains the actual data value.
Last Failure Parameter[3] contains the expected data value.
An NMI occurred during EXEC,
BUGCHECK processing.
Last Failure Parameter[0] contains the executive flags value.
Last Failure Parameter[1] contains the RIP from the NMI stack.
Last Failure Parameter[2] contains the read diagnostic register 0 value.
Last Failure Parameter[3] contains the Master
DRAB CSR value.
Last Failure Parameter[4] contains the SIP last failure code value.
A single bit or a multi-single bit ECC error was detected. To prevent data corruption, the controller was reset. If this event occurs frequently, the controller module should be replaced.
A processor interrupt was generated by the
CACHEA Dynamic Ram controller and
ArBitration engine (DRAB) with an indication that the CACHE backup battery has failed or is low (needs charging).
A processor interrupt was generated by the
CACHEB Dynamic Ram controller and
ArBitration engine (DRAB) with an indication that the CACHE backup battery has failed or is low (needs charging).
Repair
Action
Code
20
01
20
23
23
Service Manual HSD50 Array Controller
Appendix A
Last Fail Code
010D0110
010E0110
010F0110
01100100
Explanation
The System Information structure within the
System Information Page has been reset to default settings. The only known cause for this event is an I960 processor hang caused by an unimplemented memory region reference.
When such a hang occurs, controller modules equipped with inactivity watchdog timer circuitry will spontaneously reboot after the watchdog timer expires (within seconds of the hang). Controller modules not so equipped will just hang as indicated by the green LED on the OCP remaining in a steady state.
All structures contained in the System
Information Page (SIP) and the Last Failure entries have been reset to their default settings. This is a normal occurrence in the following situations:
For the first boot following manufacture of the controller module
During the transition from one firmware version to another if the format of the SIP is different between the two versions.
If this event is reported at any other time, follow the recommended repair action associated with this Last Failure code.
All structures contained in the System
Information Page and the Last Failure entries have been reset to their default settings as the result of certain controller manufacturing configuration activities. If this event is reported at any other time, follow the recommended repair action associated with this Last Failure code.
Non-maskable interrupt entered but no Nonmaskable interrupt pending. This is typically caused by an indirect call to address 0.
Repair
Action
Code
01
01
01
01
A - 43
HSD50 Array Controller Service Manual
A - 44
Service Manual
Appendix A
Last Fail Code
01110106
01126880
01136880
01150106
018000A0
Explanation
A bugcheck occurred during EXEC,
BUGCHECK processing.
Last Failure Parameter [0] contains the executive flags value.
Last Failure Parameter [1] contains the RIP from the bugcheck call stack.
Last Failure Parameter [2] contains the first
SIP last failure parameter value.
Last Failure Parameter [3] contains the second SIP last failure parameter value.
Last Failure Parameter [4] contains the SIP last failure code value.
Last Failure Parameter [5] contains the EXEC,
BUGCHECK call last failure code value.
A processor interrupt was generated by the
CACHA Dynamic Ram controller and
ArBitration engine (DRAB) with an indication that the CACHE backup battery has been disconnected.
A processor interrupt was generated by the
CACHB Dynamic Ram controller and
ArBitration engine (DRAB) with an indication that the CACHE backup battery has been disconnected.
A bugcheck occurred before subsystem initialization completed.
Last Failure Parameter [0] contains the executive flags value.
Last Failure Parameter [1] contains the RIP from the bugcheck call stack.
Last Failure Parameter [2] contains the first
SIP last failure parameter value.
Last Failure Parameter [3] contains the second SIP last failure parameter value.
Last Failure Parameter [4] contains the SIP last failure code value
Last Failure Parameter [5] contains the EXEC,
BUGCHECK call last failure code value.
A powerfail interrupt occurred.
Repair
Action
Code
01
68
68
01
00
HSD50 Array Controller
Appendix A
Last Fail Code
018600A0
018700A0
018800A0
018900A0
018B2580
018C2580
018D2580
Explanation
A processor interrupt was generated with an indication that the other controller in a dual controller configuration asserted the KILL line to disable this controller.
A processor interrupt was generated with an indication that the (//) RESET button on the controller module was depressed.
A processor interrupt was generated with an indication that the program card was removed.
A processor interrupt was generated with an indication that the controller inactivity watchdog timer expired.
A NMI interrupt was generated with an indication that a memory system problem occurred.
A DRAB_INT interrupt was generated with an indication that a memory system problem occurred.
The memory address range for which buffer
SYSCOM was linked is not available.
Repair
Action
Code
00
00
00
00
25
25
25
Table A–3 Value-added services last failure codes
Last Fail Code Explanation
02000100
Repair
Action
Code
01
02010100
02040100
02050100
02080100
Initialization code was unable to allocate enough memory to setup the receive data descriptors.
Initialization code was unable to allocate enough memory to setup the send data descriptors.
Unable to allocate memory necessary for data buffers.
Unable to allocate memory for the Free Buffer
Array.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when populating the disk read DWD stack.
01
01
01
01
A - 45
HSD50 Array Controller Service Manual
A - 46 Appendix A
02170100
02180100
021D0100
021E0100
021F0100
02210100
02220100
Last Fail Code
02090100
020A0100
020B0100
020C0100
02100100
Explanation
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when populating the disk write DWD stack.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when populating the tape read DWD stack.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when populating the tape write DWD stack.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when populating the miscellaneous
DWD stack.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when creating the device services state table.
Unable to allocate memory for the Free Node
Array.
Unable to allocate memory for the Free Buffer
Descriptor Array.
Unable to allocate memory for the Free Buffer
Array.
Unable to allocate memory for the Free Strip
Node Array.
Unable to allocate memory for WARPs and
RMDs.
Invalid parameters in CACHE,
OFFER_META call.
No buffer found for CACHE,
MARK_META_DIRTY call.
01
01
01
01
01
01
01
Repair
Action
Code
01
01
01
01
01
Service Manual HSD50 Array Controller
Appendix A
Last Fail Code
02270104
022C0100
022D0100
022E0102
02360101
02370102
Explanation
A callback from DS on a transfer request has returned a bad or illegal DWD status.
Last Failure Parameter[0] contains the DWD
Status.
Last Failure Parameter[1] contains the DWD address.
Last Failure Parameter[2] contains the PUB
Address.
Last Failure Parameter[3] contains the Device port.
A READ_LONG operation was requested for a Local Buffer Transfer. READ_LONG is not supported for Local Buffer Transfers.
A WRITE_LONG operation was requested for a Local Buffer Transfer. WRTE_LONG is not supported for Local Buffer Transfers.
An invalid mapping type was specified for a logical unit.
Last Failure Parameter[0] contains the USB address.
Last Failure Parameter[1] contains the Unit
Mapping Type.
Unrecognized state supplied to FOC, SEND callback routine va_dap_snd_cmd_complete.
Last Failure Parameter[0] contains the unrecognized value.
Unsupported return from HIS,
GET_CONN_INFO routine
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
Repair
Action
Code
01
01
01
01
01
01
A - 47
HSD50 Array Controller Service Manual
A - 48
Service Manual
Appendix A
Last Fail Code
02392084
023A2084
02440100
02530102
02560102
Explanation
A processor interrupt was generated by the controller's XOR engine (FX), with no bits set in the CSR to indicate a reason for the interrupt.
Last Failure Parameter[0] contains the FX
Control and Status Register (CSR).
Last Failure Parameter[1] contains the FX
DMA Indirect List Pointer register (DILP).
Last Failure Parameter[2] contains the FX
DMA Page Address register (DADDR).
Last Failure Parameter[3] contains the FX
DMA Command and control register
(DCMD).
A processor interrupt was generated by the controller's XOR engine (FX), indicating an unrecoverable error condition.
Last Failure Parameter[0] contains the FX
Control and Status Register (CSR).
Last Failure Parameter[1] contains the FX
DMA Indirect List Pointer register (DILP).
Last Failure Parameter[2] contains the FX
DMA Page Address register (DADDR).
Last Failure Parameter[3] contains the FX
DMA Command and control register
(DCMD).
The logical unit mapping type was detected invalid in va_set_disk_geometry()
An invalid status was returned from CACHE,
LOOKUP_LOCK().
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid status was returned from CACHE,
LOOKUP_LOCK().
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
Repair
Action
Code
20
20
01
01
01
HSD50 Array Controller
Appendix A
Last Fail Code
02570102
025A0102
025B0102
025C0102
02620102
02690102
02730100
Explanation
An invalid status was returned from VA,
XFER() during a operation.
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid status was returned from CACHE,
LOOKUP_LOCK().
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid mapping type was specified for a logical unit.
Last Failure Parameter[0] contains the USB address.
Last Failure Parameter[1] contains the Unit
Mapping Type.
An invalid mapping type was specified for a logical unit.
Last Failure Parameter[0] contains the USB address.
Last Failure Parameter[1] contains the Unit
Mapping Type.
An invalid status was returned from CACHE,
LOOKUP_LOCK().
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid status was returned from CACHE,
OFFER_WRITE_DATA().
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
A request was made to write a device metadata block with an invalid block type.
Repair
Action
Code
01
01
01
01
01
01
01
A - 49
HSD50 Array Controller Service Manual
A - 50
Service Manual
Appendix A
027D0100
027E0100
027F0100
02800100
02820100
02830100
02840100
02850100
Last Fail Code
02790102
027B0102
02860100
02880100
02890100
028A0100
028B0100
028C0100
Explanation
An invalid status was returned from VA,
XFER() in a complex read operation.
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid status was returned from VA,
XFER() in a complex ACCESS operation.
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
Unable to allocate memory for a Failover
Control Block.
Unable to allocate memory for a Failover
Control Block.
Unable to allocate memory for a Failover
Control Block.
Unable to allocate memory for a Failover
Control Block.
Unable to allocate memory for the Dirty
Count Array.
Unable to allocate memory for the Cache
Buffer Index Array.
Unable to allocate memory for the XNode
Array.
Cache was declared bad by the cache diagnostics after first Meg was tested. Can't recover and use local memory because cannot get those initial buffers back.
Unable to allocate memory for the Fault
Management Event Information Packet used by the Cache Manager in generating error logs to the host.
Invalid FOC Message in cmfoc_snd_cmd.
Invalid FOC Message in cmfoc_rcv_cmd.
Invalid return status from DIAG,
CACHE_MEMORY_TEST.
Invalid return status from DIAG,
CACHE_MEMORY_TEST.
Invalid error status given to cache_fail.
01
01
01
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 51
HSD50 Array Controller
Last Fail Code
028E0100
028F0100
02900100
02910100
02920100
02930100
02940100
02950100
02960100
02970100
02980100
02990100
029A0100
029D0100
029E0100
029F0100
02A00100
02A10100
02A20100
Explanation
Invalid DCA state detected in init_crashover.
Invalid status returned from CACHE,
CHECK_METADATA.
Unable to allocate memory for the First Cache
Buffer Index Array.
Invalid metadata combination detected in build_raid_node.
Unable to handle that many bad dirty pages
(exceeded MAX_BAD_DIRTY). Cache memory is bad.
There was no free or freeable buffer to convert bad metadata or to borrow a buffer during failover of bad dirty.
A free Device Correlation Array entry could not be found during write-back cache failover.
Invalid DCA state detected in start_crashover.
Invalid DCA state detected in start_failover.
Invalid DCA state detected in init_failover.
This bugcheck was created for testing purposes only, specifically testing write-back cache failover. It should not be seen in the field.
A free RAID Correlation Array entry could not be found during write-back cache failover.
Invalid cache buffer metadata detected while scanning the Buffer Metadata Array. Found a page containing dirty data but the corresponding Device Correlation Array entry does exist.
Invalid metadata combination detected in build_bad_raid_node.
Distinguished member is not null_pub. This last_fail code was removed from HSOF firmware at Version 2.5.
The Cache Manager software has insufficient resources to handle a buffer request pending.
VA change state is trying to change device affinity and the cache has data for this device.
Pubs not one when transportable.
Pubs not one when transportable.
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Repair
Action
Code
01
01
Service Manual
A - 52
Service Manual
Appendix A
Last Fail Code
02A30100
02A40100
02A50100
02A60100
02A70100
02A80000
02A90100
02AA0100
02AB0100
02AC0100
02AD0180
02AE0100
Explanation
No available data buffers. If the cache module exists then this is true after testing the whole cache. Otherwise, there were no buffers allocated from BUFFER memory on the controller module.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when allocating VAXDs.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when allocating DILPs.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when allocating Change State Work
Items.
A call to EXEC,
ALLOCATE_MEM_ZEROED failed to return memory when allocating VA Request Items.
Controller is being rebooted as a result of a
CLI CLEAR INVALID_CACHE command being issued on the other controller.
Too many pending FOC, SEND requests by the Cache Manager. Code is not designed to handle more than one FOC, SEND to be pending because there's no reason to expect more than one pending.
An invalid call was made to CACHE,
DEALLOCATE_CLD. Either that device had dirty data or it was bound to a RAIDset.
An invalid call was made to CACHE,
DEALLOCATE_SLD. A RAIDset member either had dirty data or write-back already turned on.
An invalid call was made to CACHE,
DEALLOCATE_SLD. The RAIDset still has data (strip nodes).
The FX detected a compare error for data that was identical. This error has always previously occurred due to a hardware problem.
The mirrorset member count and individual member states are inconsistent. Discovered during a mirrorset write or erase.
Repair
Action
Code
01
01
01
01
01
00
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 53
HSD50 Array Controller
Last Fail Code
02AF0102
02B00102
02B10100
02B20102
02B80100
02B90100
02BC0100
02BD0100
02BF0100
02C00100
02C10100
02C60100
Explanation
An invalid status was returned from VA,
XFER() in a write operation.
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
An invalid status was returned from VA,
XFER() in an erase operation.
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
A mirrorset read operation was received and the round robin selection algorithm found no normal members in the mirrorset. Internal inconsistency.
An invalid status was returned from CACHE,
LOCK_READ during a mirror copy operation
Last Failure Parameter[0] contains the DD address.
Last Failure Parameter[1] contains the invalid status.
Invalid Cache Policy parameter to CACHE,
POLICY_CHANGE.
Invalid code loop counter attempting to find the Cache ID Blocks.
A mirrorset read operation was received and the preferred member selection algorithm found no normal members in the mirrorset.
Internal inconsistency.
A mirrorset metadata online operation found no normal members in the mirrorset. Internal inconsistency.
Report_error routine encountered an unexpected failure status returned from
DIAG, LOCK_AND_TEST_CACHE_B.
Copy_buff_on_this routine expected the given page to be marked bad and it wasn’t.
Copy_buff_on_other routine expected the given page to be marked bad and it wasn’t.
Mirroring transfer found CLD with writeback state OFF.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
Service Manual
A - 54
Service Manual
Appendix A
Last Fail Code
02C70100
02C80100
02C90100
02CA0100
02CB0000
02CC0100
02CD0100
02CE1010
02CF0100
02D00100
02D10102
02D30100
02D50100
02D60100
02D72390
Explanation
Bad BBR offsets for active shadowset, detected on write.
Bad BBR offsets for active shadowset, detected on read.
Illegal call made to CACHE,
PURGE_META when the storageset was not quiesced.
Illegal call made to VA,
RAID5_META_READ when another read (of metadata) is already in progress on the same strip.
A restore of the configuration has been done.
This cleans up and restarts with the new configuration
On an attempt, which is not allowed to fail, to allocate a cache node, no freeable cache node was found.
On an attempt, which is not allowed to fail, to allocate a strip node, no freeable strip node was found.
Serial number mismatch was detected during an attempt to restore saved configuration information.
An unsupported message type or terminal request was received by the
VA_SAVE_Config virtual terminal code from the CLI.
Not all alter_device requests from
VA_SAVE_CONFIG completed within the time-out interval.
Failed to read or write metadata while
UNMIRRORING a mirrorset to a disk unit.
The controller has insufficient memory to allocate enough data structures used to manage metadata operations.
No resources are available to handle a new metadata work request.
An invalid storage set type was specified for metadata initialization.
Forced failover of devices due to a cache battery failure. This was initiated because the dual partner was operational with a good battery and there is no host failover assistance.
01
00
01
01
10
01
01
01
01
01
01
23
01
01
Repair
Action
Code
01
HSD50 Array Controller
Appendix A A - 55
HSD50 Array Controller
Last Fail Code Explanation
02D80100 Unable to allocate memory for Fast Buffers.
Code bug suspected rather than low buffer memory, because the code just checked for sufficient buffer memory.
Repair
Action
Code
01
Table A–4 Device services last failure codes
Last Fail Code Explanation
03010100
03020101
03030101
03040101
03050101
03060101
03070101
03080101
030A0100
Failed request for port-specific scripts memory allocation.
Invalid SCSI direct-access device opcode in misc command DWD.
Last Failure Parameter[0] contains the SCSI command opcode.
Invalid SCSI sequential-access device opcode in misc cmd DWD.
Last Failure Parameter[0] contains the SCSI command opcode.
Invalid SCSI CDROM device opcode in misc command DWD.
Last Failure Parameter[0] contains the SCSI command opcode.
Invalid SCSI medium changer device opcode in misc command DWD.
Last Failure Parameter[0] contains the SCSI command opcode.
Invalid SCSI device type in PUB.
Last Failure Parameter[0] contains the SCSI device type.
Invalid CDB Group Code detected during create of misc cmd DWD
Last Failure Parameter[0] contains the SCSI command opcode.
Invalid SCSI OPTICAL MEMORY device opcode in misc command DWD.
Last Failure Parameter[0] contains the SCSI command opcode.
Error DWD not found in port in_proc_q.
01
01
01
01
01
01
01
Repair
Action
Code
01
01
Service Manual
A - 56
Service Manual
Appendix A
Last Fail Code
030B0188
03150100
031E0100
031F0100
03280100
03290100
032A0100
032B0100
03320101
Explanation
A dip error was detected when pcb_busy was set.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the new info NULL - SSTAT0 - DSTAT - ISTAT.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
Repair
Action
Code
01
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
More DBDs than allowed for in mask
Can't find in_error dwd on in-process queue
Either DWD_ptr is null or bad value in dsps
SCSI CDB contains an invalid group code for a transfer command
The required error information packet (EIP) or device work descriptor (DWD) were not supplied to the Device Services error logging code.
HIS, GET_CONN_INFO() returned an unexpected completion code.
A Device Work Descriptor (DWD) was supplied with a NULL Physical Unit Block
(PUB) pointer
An invalid code was passed to the error recovery thread in the error_stat field of the
PCB.
Last Failure Parameter[0] contains the PCB error_stat code.
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 57
HSD50 Array Controller
Last Fail Code
03330188
03350188
Explanation
A parity error was detected by a device port while sending data out onto the SCSI bus.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1/
SSTAT0/DSTAT registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
The TEA (bus fault) signal was asserted into a device port.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port BC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1/ registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
01
Repair
Action
Code
01
Service Manual
A - 58 Appendix A
Last Fail Code
03360188
Explanation
A device port's host bus watchdog timer expired.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/
SSTAT1/SSTAT0/DSTAT registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/RESERVED/
ISTAT/DFIFO registers.
Repair
Action
Code
01
Service Manual HSD50 Array Controller
Appendix A A - 59
HSD50 Array Controller
Last Fail Code
03370108
03380188
Explanation
A device port detected an illegal script instruction.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
Repair
Action
Code
01
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
A device port's DSTAT register contains multiple asserted bits, or an invalidity asserted bit, or both.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1}
/SSTAT0/DSTAT registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
01
Service Manual
A - 60 Appendix A
Last Fail Code
03390108
033C0101
Explanation
An unknown interrupt code was found in a device port's DSPS register.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
An invalid code was seen by the error recovery thread in the er_funct_step field of the PCB.
Last Failure Parameter[0] contains the PCB er_funct_step code.
Repair
Action
Code
01
01
Service Manual HSD50 Array Controller
Appendix A A - 61
HSD50 Array Controller
Last Fail Code
033E0108
033F0108
Explanation
An attempt was made to restart a device port at the SDP DBD.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
Repair
Action
Code
01
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
An EDC error was detected on a read of a soft-sectored device-path not yet implemented.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
01
Service Manual
A - 62
Service Manual
Appendix A
03470100
03480100
03490100
034A0100
034B0100
034C0100
034D0100
034E2080
03500100
03510100
Last Fail Code
03410101
03420188
Explanation
Invalid SCSI device type in PUB.
Last Failure Parameter[0] contains the PUB
SCSI device type.
A UDC interrupt could not be associated with either a DWD or the non-callable scripts.
Last Failure Parameter[0] contains the PCB port_ptr value.
Last Failure Parameter[1] contains the PCB copy of the device port TEMP register.
Last Failure Parameter[2] contains the PCB copy of the device port DBC register.
Last Failure Parameter[3] contains the PCB copy of the device port DNAD register.
Last Failure Parameter[4] contains the PCB copy of the device port DSP register.
Last Failure Parameter[5] contains the PCB copy of the device port DSPS register.
Last Failure Parameter[6] contains the PCB copies of the device port SSTAT2/SSTAT1
/SSTAT0/DSTAT registers.
01
Repair
Action
Code
01
Last Failure Parameter[7] contains the PCB copies of the device port LCRC/
RESERVED/ISTAT/DFIFO registers.
Insufficient memory available for target block allocation.
Insufficient memory available for device port info block allocation.
Insufficient memory available for autoconfig buffer allocation.
01
01
01
Insufficient memory available for PUB allocation.
Insufficient memory available for DS init buffer allocation.
Insufficient memory available for static structure allocation.
DS init DWDs exhausted.
Diagnostics report all device ports are broken.
Insufficient memory available for command disk allocation.
Insufficient resources available for command disk data region.
01
01
01
01
20
01
01
HSD50 Array Controller
Appendix A
03520100
035A0100
035B0100
03640100
03650100
03660100
03670100
Last Fail Code Explanation
A failure resulted when an attempt was made to allocate a DWD for use by DS CDI.
Invalid SCSI message byte passed to DS.
Insufficient DWD resources available for
SCSI message pass-through.
Processing run_switch disabled for LOGDISK associated with the other controller.
Processing pub unblock for LOGDISK associated with the other controller
No memory available to allocate pub to tell the other controller of reset to one if its LUNs.
No memory available to allocate pub to tell the other controller of a bdr to one if its LUNs.
01
01
01
01
Repair
Action
Code
01
01
01
Table A–5 Fault manager last failure codes
Last Fail Code Explanation
04010101
04020102
04030102
The requester id component of the instance, code passed to FM, REPORT_EVENT is larger than the maximum allowed for this environment.
Last Failure Parameter[0] contains the instance, code value.
The requester’s error table index passed to
FM, REPORT_EVENT is larger than the maximum allowed for this requester.
Last Failure Parameter[0] contains the instance, code value.
Last Failure Parameter[1] contains the requester error table index value.
The USB index supplied in the EIP is larger than the maximum number of USBs.
Last Failure Parameter[0] contains the instance, code value.
Last Failure Parameter[1] contains the USB index value.
Repair
Action
Code
01
01
01
A - 63
HSD50 Array Controller Service Manual
A - 64
Service Manual
Appendix A
Last Fail Code
04040103
04050100
04060100
04070103
04080102
04090100
Explanation
The event log format found in
V_fm_template_table is not supported by the
Fault Manager. The bad format was discovered while trying to fill in a supplied eip.
Last Failure Parameter[0] contains the instance, code value.
Last Failure Parameter[1] contains the format code value.
Last Failure Parameter[2] contains the requester error table index value.
The Fault Manager could not allocate memory for his Event Information Packet (EIP) buffers.
The Fault Manager could not allocate a
Datagram HTB in his initialization routine.
There is more EIP information than will fit into a datagram. The requester specific size is probably too large.
Last Failure Parameter[0] contains the instance, code value.
Last Failure Parameter[1] contains the format code value.
Last Failure Parameter[2] contains the requester error table index value.
The event log format found in the already built eip is not supported by the Fault
Manager. The bad format was discovered while trying to copy the eip information into a datagram HTB.
Last Failure Parameter[0] contains the format code value.
Last Failure Parameter[1] contains the instance, code value.
The caller of FM,
CANCEL_EVENT_NOTIFICATION passed an address of an event notification routine which does not match the address of any routines for which event notification is enabled.
Repair
Action
Code
01
01
01
01
01
01
HSD50 Array Controller
Appendix A
Last Fail Code
040A0100
040B0100
040D0100
040E0100
040F0102
04100101
04110101
04120101
Explanation
The caller of FM,
CANCEL_SCSI_DE_NOTIFICATION passed an address of a deferred error notification routine which doesn't match the address of any routines for which deferred error notification is enabled.
An error which is not related to an I/O request(htb_ptr) has an unsupported template type.
01
FM, ENABLE_EVENT_NOTIFICATION was called to enable eip notification but the specified routine was already enabled to receive eip notification.
FM, ENABLE_DE_NOTIFICATION was called to enable deferred error notification but the specified routine was already enabled to receive deferred error notification.
The eip->generic.mscp1.flgs field of the EIP passed to FM, REPORT_EVENT contains an invalid flag.
Last Failure Parameter[0] contains the instance, code value.
Last Failure Parameter[1] contains the value supplied in the eip->generic.mscp1.flgs field
01
01
01
Repair
Action
Code
01
Unexpected template type found during fmu_display_errlog processing.
Last Failure Parameter[0] contains the unexpected template value.
Unexpected instance, code found during fmu_memerr_report processing.
Last Failure Parameter[0] contains the unexpected instance, code value.
CLIB, SDD_FAO call failed.
Last Failure Parameter[0] contains the failure status code value.
01
01
01
A - 65
HSD50 Array Controller Service Manual
A - 66
Service Manual
Appendix A
Last Fail Code
04130103
04140103
Explanation
The event log format found in the eip is not supported by the Fault Manager. The bad format was discovered while trying to fill in the DLI of the supplied eip.
Last Failure Parameters[0] contains the
instance, code value
Last Failure Parameters[1] contains the format code value.
Last Failure Parameters[2] contains the requester error table index value.
The template value found in the eip is not supported by the Fault Manager. The bad template value was discovered while trying to build an esd.
Last Failure Parameters[0] contains the instance, code value
Last Failure Parameters[1] contains the template code value.
Last Failure Parameters[2] contains the requester error table index value.
Repair
Action
Code
01
01
Table A–6 Common library last failure codes
Last Fail Code Explanation
05010100
05030100
In recursive_nonconflict could not get enough memory for scanning the keyword tables for configuration name conflicts.
In clib, scan_for_nonconflict could not get enough memory for scanning the keyword tables for configuration name conflicts.
Repair
Action
Code
01
01
Table A–7 DUART services last failure codes
Last Fail Code Explanation
06010100 The DUART was unable to allocate enough memory to establish a connection to the CLI.
Repair
Action
Code
01
HSD50 Array Controller
Appendix A A - 67
HSD50 Array Controller
Last Fail Code
06020100
06030100
06040100
06050100
06060100
06070100
06080000
Explanation
A port other than terminal port A was referred to by a set terminal characteristics command.
This is illegal.
A DUP question or default question message type was passed to the DUART driver, but the pointer to the input area to receive the response to the question was NULL.
Attempted to detach unattached maintenance terminal.
Attempted output to unattached maintenance terminal.
Attempted input from output only maintenance terminal service.
The DUART was unable to allocate enough memory for its input buffers.
Controller was forced to restart due to entry of a CONTROL-K character on the maintenance terminal.
Repair
Action
Code
01
01
01
01
00
01
01
Table A–8 Failover control last failure codes
Last Fail Code Explanation
07010100
07020100
07030100
07040100
07050100
07060100
07070100
07080000
All available slots in the FOC notify table are filled
FOC, CANCEL_NOTIFY() was called to disable notification for a rtn that did not have notification enabled
Unable to start the Failover Control Timer before main loop
Unable to restart the Failover Control Timer
Unable to allocate flush buffer
Unable to allocate active receive fcb
The other controller killed this controller, but could not assert the kill line because nindy was on or in debug. It killed this controller now.
The other controller crashed, so this one must crash too.
00
01
01
01
01
01
Repair
Action
Code
01
01
Service Manual
A - 68
Service Manual
Appendix A
Table A–9 Nonvolatile parameter memory failover control last failure codes
08010101 01
08020100
08030101
08040101
08050100
08060100
08070100
08080000
08090010
080A0000
080B0100
080C0100
080D0100
080E0101
A remote state change was received from the
FOC thread that NVFOC does not recognize.
Last Failure Parameter[0] contains the unrecognized state value.
No memory could be allocated for a NVFOC information packet.
Work received on the S_nvfoc_bque did not have a NVFOC work id.
Last Failure Parameter[0] contains the id type value that was received on the NVFOC work queue.
Unknown work value received by the
S_nvfoc_bque.
Last Failure Parameter[0] contains the unknown work value.
An unlock was received and the controller was not locked by the other controller. This last_failure code was removed from HSOF firmware at Version 2.7.
A really write command was received when the NV memory was not locked.
A write to NV memory was received while not locked.
The other controller requested this controller to restart.
The other controller requested this controller to shutdown.
The other controller requested this controller to selftest.
Could not get enough memory to build a FCB to send to the remote routines on the other controller.
Could not get enough memory for FCBs to receive information from the other controller.
Could not get enough memory to build a FCB to reply to a request from the other controller.
An out-of-range receiver ID was received by the NVFOC communication utility (master send to slave send ACK).
Last Failure Parameter[0] contains the bad id value.
01
01
01
01
01
01
00
00
00
01
01
01
01
HSD50 Array Controller
Appendix A A - 69
HSD50 Array Controller
080F0101
08100101
08110101
08120100
08130100
08140100
08150100
08160100
08170100
08180100
08190100
081A0100
081B0101
081C0101
An out-of-range receiver ID was received by the NVFOC communication utility (received by master).
Last Failure Parameter[0] contains the bad id value.
A call to NVFOC, TRANSACTION had a from field (id) that was out of range for the
NVFOC communication utility.
Last Failure Parameter[0] contains the bad id value.
NVFOC tried to defer more than one FOC send.
Last Failure Parameter[0] contains the master
ID of the connection that had the multiple delays.
Unable to lock other controller's NVmemory despite the fact that the running and handshake_complete flags are set.
Could not allocate memory to build a callback context block on an unlock NVmemory call.
Could not allocate memory to build a workblock to queue to the NVFOC thread.
A lock was requested by the other controller but the memory is already locked by the other controller.
A request to clear the remote configuration was received but the memory was not locked.
A request to read the next configuration was received but the memory was not locked.
Could not get enough memory for FLS FCBs to receive information from the other controller.
An unlock command was received when the
NV memory was not locked. Removed from
HSOF firmware at Version 2.7.
Unable to allocate memory for remote work.
Bad remote work received on remote work queue.
Last Failure Parameter[0] contains the id type value that was received on the NVFOC remote work queue.
Bad member management work received.
Last Failure Parameter[0] contains the bad member management value that was detected.
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Service Manual
A - 70
Service Manual
Appendix A
081F0000
08200000
08210100
An FLM, INSUFFICIENT_RESOURCES error was returned from a FLM lock or unlock call.
Expected restart so the write_instance, may recover from a configuration mismatch.
Unable to allocate memory to setup NVFOC lock/unlock notification routines.
01
01
01
Table A–10 Facility lock manager last failure codes
Last Fail Code Explanation
09010100
Repair
Action
Code
01
09640101
09650101
09670101
09680101
09C80101
09C90101
09CA0101
09CB0012
Unable to acquire memory to initialize the
FLM structures.
Work that was not FLM work was found on the FLM queue. Bad format is detected or the formatted string overflows the output buffer.
Last Failure Parameter[0] contains the work found.
Work that was not FLM work was found on the FLM queue. Last Failure Parameter[0] contains the structure found.
Local FLM detected an invalid facility to act upon. Last Failure Parameter[0] contains the facility found.
Remote FLM detected an error and requested the local controller to restart. Last Failure
Parameter[0] contains the reason for the request.
Remote FLM detected an invalid facility to act upon. Last Failure Parameter[0] contains the facility found.
Remote FLM detected an invalid work type.
Last Failure Parameter[0] contains the work type found.
Remote FLM detected an invalid work type.
Last Failure Parameter[0] contains the work type found.
Remote FLM detected that the other controller has a facility lock manager at an incompatible revision level with this controller.
Last Failure Parameter[0] contains this controller’s FLM revision. Last Failure
Parameter[1] contains the other controller’s
FLM revision.
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 71
HSD50 Array Controller
Table A–11 Integrated logging facility last failure codes
Last Fail Code Explanation
0A010100
Repair
Action
Code
01
0A020100
0A030100
0A040100
0A050100
CACHE, FIND_LOG_BUFFERS returned continuation handle >0.
ILF, CACHE_READY unable to allocate necessary DWDs.
ILF, CACHE_READY buffers_obtained > non-zero stack entry count.
ILF, CACHE_READY DWD overrun.
IFL, CACHE_READY DWD underrun.
01
01
01
01
Table A–12 CLI last failure codes
Last Fail Code Explanation
20010100
20020100
20030100
20060100
20070100
20080000
20090010
200A0000
200B0100
The action for work on the CLI queue should be CLI_CONNECT, CLI_COMMAND_IN or
CLI_PROMPT. If it isn't one of these three, this bugcheck will result.
The FAO returned a non-successful response.
This will only happen if a bad format is detected or the formatted string overflows the output buffer.
The type of work received on the CLI work queue wasn't of type CLI.
A work item of an unknown type was placed on the CLI's SCSI Virtual Terminal thread's work queue by the CLI.
A work item of an unknown type was placed on the CLI's DUP Virtual Terminal thread's work queue by the CLI.
This controller requested this controller to restart.
This controller requested this controller to shutdown.
This controller requested this controller to selftest.
Could not get enough memory for FCBs to receive information from the
other controller
.
01
01
01
01
00
01
00
00
Repair
Action
Code
01
Service Manual
A - 72
Service Manual
Appendix A
Last Fail Code
200C0100
200D0101
200E0101
200F0101
20100101
20110100
20120101
20130101
20150100
20160100
20180010
Explanation
After a CLI command the NV memory was still locked. The CLI should always unlock
NV memory when the command is complete
(if it had an error or not). Removed from
HSOF firmware at Version 2.7.
After many calls to DS, PORT_BLOCKED, we never got a FALSE status back (which signals that nothing is blocked).
Last Failure Parameter[0] contains the port number (1 - n) that we were waiting on to be unblocked.
While traversing the structure of a unit, a config_info node was discovered with an unrecognized structure type.
Last Failure Parameter[0] contains the structure type number that was unrecognized.
A config_info node was discovered with an unrecognized structure type.
Last Failure Parameter[0] contains the structure type number that was unrecognized.
A config_node of type VA_MA_DEVICE had an unrecognized SCSI device type.
Last Failure Parameter[0] contains the SCSI device type number that was unrecognized.
An attempt to allocate memory so the CLI prompt messages could be deleted failed.
While traversing the structure of a unit, a config_info node was discovered with an unrecognized structure type.
Last Failure Parameter[0] contains the structure type number that was unrecognized.
While traversing the structure of a unit, the device was of a unrecognized type.
Last Failure Parameter[0] contains the SCSI device type that was unrecognized.
On SCSI failover, both controllers must be restarted for failover to take effect. This is how this controller is restarted in
COPY=OTHER.
Unable to allocate resources needed for the
CLI local program.
User requested this controller’s parameters to be set to initial configuration state.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
00
HSD50 Array Controller
Appendix A A - 73
201B0100
201C0100
20640000
20650000
20692010
206A0000
206B0010
Last Fail Code
20190010
201A0100
Explanation
A cache state of a unit remains
WRITE_CACHE_UNWRITTEN_DATA. The unit is not ONLINE, thus this state would only be valid for a very short period of time.
An attempt to allocate memory so a CLI prompt message could be reformatted has failed.
Insufficient resources to get memory to lock
CLI.
Insufficient resources to get memory to unlock CLI.
Nindy was turned on.
Nindy was turned off.
To enter dual-redundant mode both controllers must be of the same type.
Controller restart forced by DEBUG CRASH
REBOOT command.
Controller restart forced by DEBUG CRASH
NOREBOOT command.
01
01
00
00
20
01
01
Repair
Action
Code
00
01
HSD50 Array Controller
Table A–13 Host interconnect services last failure codes
Last Fail Code Explanation
40000101
Repair
Action
Code
01
4007640A
40150100
40280100
40290100
402A0100
HSJ3x/4x: An unrecognized DSSI opcode was received by HIS. These packets are packets with CI opcodes recognized by the port but not by HIS. Last Failure Parameter[0] contains the CI opcode value.
HSD3x/4x/HS1CP: An unrecognized DSSI opcode was received by HIS. These packets are packets with DSSI opcodes recognized by the port but not by HIS. Last Failure
Parameter[0] contains the DSSI opcode value.
HSD3x/4x/HS1CP: DSSI Port detected error upon attempting to transmit a packet. This resulted in the closure of the Virtual Circuit.
LOCAL VC Timer in unexpected state.
Failed to allocate Buffer Name Table.
Failed to allocate ACB.
Failed to allocate ID member template.
64
01
01
01
01
Service Manual
A - 74
Service Manual
Appendix A
402F0100
40300100
40510100
40520100
40530100
40560100
407B0100
407C0100
408E0100
408F0100
40900100
40930100
40950100
40960100
40970100
40980100
409D0100
40B40101
Last Fail Code
402B0100
402C0100
402D0101
402E0101
Explanation
Failed to allocate DG HTBs.
Failed to allocate message HTBs.
S_max_node greater than
MAX_VC_ENTRIES.
Last Failure Parameter[0] contains the
S_ci_max_nodes value.
S_max_node not set to valid value (8, 16, 32,
64, 128, 256).
Last Failure Parameter[0] contains the
S_ci_max_nodes value.
Failure to allocate a HIS EIP structure.
Failure in memory allocation.
htb_id type not DG, when attempting to deallocate DG HTB.
htb_id type not RCV_SND, when attempting to dealloc recv queue HTB.
htb_id type not RCV_SND, when attempting to dealloc SCS queue HTB.
Failed to find a vc entry for ccb during his_close_connection routine.
SCS command timeout unexpectedly inactive during SCS Accept Request.
SCS command timeout unexpectedly inactive during SCS Reject Request.
Message receive queue count disagrees with #
HTBs on the queue.
Unrecognized HTB id type.
htb_id type not DG, when attempting to xmit
DG HTB.
Message receive queue count disagrees with #
HTBs on the queue.
Create xfer request with 0-byte count
Create xfer request with 0-byte count
Create xfer request with 0-byte count
Create xfer request with 0-byte count
Illegal return value from HIS, MAP.
Invalid value in max_nodes field of se_params structure.
Last Failure Parameter[0] contains the max_nodes field value.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 75
Table A–14 SCSI host interconnect services last failure codes
Last Failure
Code
41000100
Explanation Repair
Action
Code
01
41020100
41030100
41060100
41070100
41080100
41090100
410A0100
410B0100
410E0100
41100100
41130100
41160100
41170100
41180100
Encountered an unexpected structure type on
S_shis_ctl.scsi_q.
Unable to allocate the necessary number of
HTBS in shis_init().
Unable to allocate the necessary number of large Sense Data buckets in shis_init().
Unable to locate the IDENTIFY msg in HTB.
Encountered an unknown MESSAGE OUT message.
Encountered an unknown MESSAGE OUT message.
Encountered an unknown structure on the host port queue. During SCSI ABORT message.
Encountered an unknown structure on the host port queue. During SCSI ABORT TAG message.
Encountered an unknown structure on the host port queue. During SCSI CLEAR QUEUE message.
Encountered an unrecognized queue tag message.
Encountered a NULL completion routine pointer in a DD.
Could not allocate a large sense bucket.
A sense data bucket of unknown type (neither
LARGE or SMALL) was passed to deallocate_SDB().
Call to VA, ENABLE_NOTIFICATION() failed due to INSUFFICIENT_RESOURCES.
Encountered a NULL completion routine pointer in a Work q entry.
01
01
01
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller Service Manual
A - 76
Service Manual
Appendix A
Table A–15 Host interconnect port services last failure codes
Last Fail Code Explanation
42000100
Repair
Action
Code
01
42020100
42030100
42040100
42060100
420B0100
420C0100
420D0100
42120100
42126500
42130100
42316601
42332080
42340100
42350100
42382080
42392080
423A2080
423B2080
Cmpl_main routine found invalid port xmt status.
Cannot start timer.
Cannot restart work timer.
Host port buffer allocation macro found an error allocating free buffers. The free buffer was NULLPTR. , DEBUG conditional.
HP_INIT could not allocate initial buffers.
HP_INIT could not allocate initial buffs for
Path A dl_ctl table.
HP_INIT could not allocate initial htb for Path
A.
HP_INIT could not allocate HPHW structure.
Host port polling HTB failed to complete in time. This last_failure code was removed from
HSOF firmware at Version 2.7.
Host port polling HTB failed to complete in time.
Host port detected a inconsistency in the HW transmit status.
Host port found that the controller has exceeded the maximum number of user specified host VCS.
Last Failure Parameter[0] is a 32-bit MASK of
OPEN VCS the controller sees to host nodes.
Receive_main found destination address in the rcv packet does not match node address.
HP could not allocate buffers for I/O rundown in VC Close.
HP found a negative offset in a Host Data transfer Operation.
Ci_isr found that the yaci hardware had invalid xmt status on Path A, no bits set.
Ci_isr found that the yaci hardware had invalid xmt status on Path B, no bits set.
CI_ISR found the abort bit set with out any valid reason. Path A.
CI_ISR found transmit parity error without abort bit set. Path A.
01
01
01
01
01
01
01
01
65
01
66
20
01
01
20
20
20
20
HSD50 Array Controller
Appendix A A - 77
HSD50 Array Controller
423C2080
423D2080
423E2080
423F2080
42442080
42452080
42472080
42482080
424B0001
Last Fail Code
424C0001
424D2080
424E2080
424F0100
42506700
42516700
42590001
425A0001
425B2080
Explanation
CI_ISR found buffer underflow without abort bit set. Path A.
CI_ISR found the abort bit set with out any valid reason. Path B.
CI_ISR found transmit parity error without abort bit set. Path B.
CI_ISR found buffer underflow without abort bit set. Path B.
Ci_isr found that yaci hardware had a parity error.
Ci_isr found that yaci hardware had a bus timeout error.
Ci_isr found Data parity on Transmit Path A.
Ci_isr found Data parity on Transmit Path B.
Ci_isr found Host Reset on Path A.
Last Failure Parameter[0] contains the node number of the resetting node.
Ci_isr found Host Reset on Path B.
Last Failure Parameter[0] contains the node number of the resetting node.
Ci_isr found Fetch parity on Transmit Path A.
Ci_isr found Fetch parity on Transmit Path B.
HP could not allocate buffers to repopulate dds when we close path.
CI Host port detected an arbitration timeout on path A. Persistent Hardware faults generating an arbitration timeout will cause the controller to repeatedly reboot.
CI Host port detected an arbitration timeout on path b. Persistent Hardware faults generating an arbitration timeout will cause the controller to repeatedly reboot.
Ci_isr found Host Reset on Path A.
Last Failure Parameter[0] contains the node number of the resetting node.
Ci_isr found Host Reset on Path B.
Last Failure Parameter[0] contains the node number of the resetting node.
CI_ISR found the abort bit set with out any valid reason. Path A.
00
67
00
00
20
20
20
01
67
20
20
20
20
00
20
20
Repair
Action
Code
20
20
Service Manual
A - 78
Service Manual
Appendix A
425C2080
425D2080
425E2080
425F2080
42602080
42612080
42622080
42632080
42640100
42680102
Last Fail Code
42690101
426B0101
42752002
Explanation
CI_ISR found transmit parity error without abort bit set. Path A.
CI_ISR found buffer underflow without abort bit set. Path A.
Ci_isr found that the yaci hardware had invalid xmt status on path a, no bits set.
CI_ISR found the abort bit set with out any valid reason. Path B.
CI_ISR found transmit parity error without abort bit set. Path B.
CI_ISR found buffer underflow without abort bit set. Path B.
Ci_isr found that the yaci hardware had invalid xmt status on Path B, no bits set.
Receive_main found destination address in the rcv packet does not match node address.
Scan packet que found bad path select case for
DSSI
Dssi_wait_isr routine found that 720 report unexpected interrupt status for target mode.
Last Fail Parameter[0] contains the 720 chip sist0 register value.
Last Failure Parameter[1] contains the 720 chip sist1 register value.
Dssi_wait_isr routine found that the 720 script reported an invalid rcv status.
Last Failure Parameter[0] contains the receive interrupt status N720)_dsps value.
Dssi_wait_isr routine found that 720 interrupted without status.
Last Failure Parameter[0] contains the 720 chip istat register value.
Dssi_wait_isr routine found that 720 reported a bus error on the controller’s internal bus.
Last Failure Parameter[0] contains the 720 chip dstat register value.
Last Failure Parameter[1] contains the 720 chip dcmd register value.
Repair
Action
Code
20
20
20
20
20
20
20
20
01
01
01
01
20
HSD50 Array Controller
Appendix A A - 79
Last Fail Code
42760102
42770102
42790103
427A6601
Explanation
Dssi_wait_isr routine found that 720 reported an unexpected status for initiator mode.
Last Failure Parameter[0] contains the 720 chip dstat register value.
Last Failure Parameter[1] contains the 720 chip dcmd register value.
Dssi_wait_isr routine found that 720 reported an unexpected status for initiator mode.
Last Failure Parameter[0] contains the 720 chip dstat register value.
Last Failure Parameter[1] contains the 720 chip dcmd register value.
Dssi_wait_isr routine found that 720 reported an unexpected status in initiator mode causes stacked interrupters too many.
Last Failure Parameter[0] contains the 720 chip dstat register value.
Last Failure Parameter[1] contains the 720 chip dcmd register value.
Host port found that the controller has exceeded the maximum number of user specified host VCs
Last Failure Parameter[0] is a 32-bit MASK of
OPEN VCs the controller sees to host nodes.
Repair
Action
Code
01
01
01
66
HSD50 Array Controller
Table A–16 Disk and tape MSCP server last failure codes
Last Fail Code Explanation
60030100
Repair
Action
Code
01
60050100
60070100
60090100
Unable to fine free
DCD_CMDCORL_BLOCK.
Invalid return value from routine HIS,
CONNECT, while DCD attempting to establish connection to a remote subsystem.
Invalid return value from routine HIS, MAP, while dmscp_dcd_allocate_bh attempting to map a buffer.
Invalid return value from routine HIS,
DISCONNECT, while dmscp_dcd_comm_path_event attempting to disconnect a remote source connection.
01
01
01
Service Manual
A - 80
Service Manual
Appendix A
Last Fail Code
600C0100
600D0100
60120100
60130100
60140100
60150100
60160100
60170100
60180100
60190100
601B0100
601C0100
601D0100
601E0100
60250100
60260100
60270100
60280100
Explanation
Invalid return value from routine RESMGR,
ALLOCATE_DATA_SEGMENT.
Opcode field in command being aborted is not valid.
Opcode of TMSCP command to be aborted is invalid.
tmscp_clear_sex_cdl_cmpl_rtn detected an unexpected opcode.
tmscp_clear_sex_cdl_cmpl_rtn detected an unexpected opcode.
VA, CHANGE_STATE failed to change the
SW Write protect when requested to do so as part of the Disk Set Unit Characteristics command.
VA, CHANGE_STATE failed to change the
SW Write protect when requested to do so as part of the Tape Set Unit Characteristics command.
Invalid type in entry of long interval work queue.
mscp_short_interval found an Invalid type in entry of long interval work queue.
dmscp_dcd_send_cmd found that the SIWI
Work Item code supplied is unrecognized or invalid in this context during DCD inhibited processing.
Invalid EVENT_CODE parameter in call to dmscp_connection_event.
Invalid EVENT_CODE parameter in call to tmscp_connection_event.
Invalid EVENT_CODE parameter in call to dmscp_dcd_comm_path_event.
Invalid EVENT_CODE parameter in call to dmscp_dcd_comm_path_event.
An attempt was about to be made to return a progress indicator to the host that was
0xFFFFFFFF, the only invalid value.
An WH_DAF command was requested to be performed by the wrong process.
A nonimmediate WHM operation was passed to the dmscp_exec_whm_immediate routine.
This routine found an invalid xfer_state so cannot continue.
01
01
01
01
01
01
01
01
01
01
01
Repair
Action
Code
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 81
HSD50 Array Controller
Last Fail Code
60290100
602A0100
602B0100
602C0100
602D0100
602E0100
603B0100
603C0100
60400100
60410100
60420100
60440100
60450100
Explanation
HIS did not allocate an HTB when there should have been one reserved for this connection as determined by mscp_rcv_listen.
HIS did not allocate an HTB when there should have been one reserved for this connection as determined by dmscp_dcd_src_gcs_send.
HIS did not allocate an HTB when there should have been one reserved for this connection as determined by dmscp_dcd_comm_path_event.
When trying to put THE extra send-HTB on the connections send_htb_list there was already one on the queue.
The VA, CHANGE_STATE service did not set the Software write protect as requested (for disk).
The VA, CHANGE_STATE service did not set the Software write protect as requested (for tape).
Initial HIS, LISTEN call for MSCP, DISK was unsuccessful.
Initial HIS, LISTEN call for MSCP, TAPE was unsuccessful.
Unrecognized or invalid in this context return value from routine RESMGR,
ALLOCATE_DATA_SEGMENT, while dmscp_dcd_allocate_dseg attempting to allocate a data segment.
Unrecognized or invalid in this context return value from routine RESMGR,
ALLOCATE_DATA_BUFFERS, while dmscp_dcd_allocate_dbuf attempting to allocate a data buffer.
dmscp_dcd_rmte_end_msg was unable to find a command message that corresponds to end message it is currently processing.
dmscp_dcd_src_gcs_cmpl found the command being GCSed is no longer at the head of the remote connection's queue.
dmscp_dcd_errlog_rvc found that an error log is not associated with a command, internal miscellaneous error logs are assumed to not be associated with a connection and remote miscellaneous error logs generation was not requested.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
01
Service Manual
A - 82
Service Manual
Appendix A
Last Fail Code
60460100
60480100
60490100
604A0100
604B0100
604D0100
604F0100
60500100
60550100
60560100
60570100
60580100
605D0100
605E0100
605F0100
Explanation
dmscp_dcd_elrt_scc_send was entered to issue a remote source connection SCC but was unable to find an available HTB on the connection's htb_list. With no active DCDs the connection should always have HTBs available.
tmscp_suc_avl_cmpl_rtn found the unit not in the available state.
tmscp_clear_sex_cdl_cmpl_rtn found the state change failed.
tmscp_clear_sex_cdl_cmpl_rtn found the state change failed.
Subroutine process_event returned a value to dmscp_dcd_comm_path_event that indicates that an internal disconnect request occurred while processing an immediate communications event.
Subroutine process_event returned a value to dmscp_dcd_comm_path_event that indicates that a connection established event occurred while no DCD commands were active.
tmscp_set_sex_cmpl_rtn found the state change failed.
dmscp_dcd_op_cmpl found an unrecognized
P_STS value in a DCD HTB status field.
mscp_initialize unable to get LOCAL
STATIC memory from exec for use as a local connection ITB.
mscp_initialize unable to get LOCAL
STATIC memory from exec for use as an
AVAILABLE ITB.
mscp_initialize unable to get LOCAL
STATIC memory from exec for use as an
AVAILABLE state change ITB.
mscp_initialize unable to get LOCAL
STATIC memory from exec for use as a state change ITB.
tmscp_onl_cleanup_rtn detected a failure in enabling variable speed mode suppression.
tmscp_suc_cmpl_rtn detected a failure in enabling variable speed mode suppression.
tmscp_suc_cmpl_rtn detected a failure in enabling variable speed mode suppression.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A A - 83
Last Fail Code
60610100
60620100
60640100
60650100
60660100
60670100
60680100
606B0100
606C0100
606D0100
606E0100
Explanation
mscp_initialize unable to get BUFFER
STATIC memory from exec for use as Write
History Logs.
mscp_initialize unable to get LOCAL
STATIC memory from exec for use as Write
History Log Allocation Failure Lists.
Invalid condition when there exists no unused
Write History Log Entries.
Attempting to block incoming requests for the tape/loader when it was unexpectedly found already blocked.
Loader boundary block request to stall incoming requests to the tape/loader unit was not setup as expected.
The controller has insufficient memory available for allocating context blocks needed for Disk_Copy_Data commands.
VA, ENABLE_NOTIFICATION failed with insufficient resources at init time.
mscp_foc_receive_cmd detected that the message sent from the other controller had an illegal usb index.
mscp_foc_receive_cmd detected that the message sent from the other controller had an illegal exclusive access state.
FOC provided mscp_foc_send_cmpl_rtn with an invalid status for the FOC, SEND transmit command completion.
FOC provided mscp_foc_send_rsp_done with an invalid transmit status for the FOC, SEND transmit response completion.
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller
Table A–17 Diagnostics and utilities protocol server last failure codes
Last Fail Code Explanation
61010000
Repair
Action
Code
00 Controller crash was intentionally caused by the execution of the CRASH program. This bugcheck does not indicate the occurrence of a controller failure. Removed from HSOF firmware at Version 2.7
Service Manual
A - 84 Appendix A
Last Fail Code
61020100
61090100
610B0100
610C0100
Explanation
HIS, LISTEN call failed with
INSUFFICIENT_RESOURCES.
LISTEN_CONNECTION_ESTABLISHED event from HIS specified a connection ID for a connection we already know about.
Code Load or Code Patch utility in CLCP local program forced controller restart to force new code or patch to take effect. This last_failure code was removed from HSOF firmware at Version 2.7
HIS has reported a connection event that should not be possible.
01
01
Repair
Action
Code
01
01
Table A–18 System communication services directory last failure code
Last Fail Code Explanation
62000100
Repair
Action
Code
01
62020100
62030100
HIS, LISTEN call failed with
INSUFFICIENT_RESOURCES.
Failure to allocate associated timer queue.
Failure to allocate connection id timers.
01
01
Table A–19 SCSI host value-added services last failure codes
Last Fail Code Explanation
64000100
Repair
Action
Code
01
64010100
Insufficient buffer memory to allocate data structures needed to propagate SCSI Mode
Select changes to other controller.
During initialization of LUN specific mode pages, an unexpected device type was encountered.
01
Service Manual HSD50 Array Controller
Appendix A A - 85
HSD50 Array Controller
Table A–20 Disk inline exerciser (DILX) last failure codes
Last Fail Code Explanation
80010100
Repair
Action
Code
01
80020100
80030100
80040100
80050100
80060100
80070100
80080100
80090100
800A0100
800B0100
800C0100
800D0100
800E0100
800F0100
80100100
80110100
80120100
An HTB was not available to issue an I/O when it should have been
A unit could not be dropped from testing because an available cmd failed.
DILX tried to release a facility that wasn't reserved by DILX
DILX tried to change the unit state from
MAINTENANCE_MODE to NORMAL but was rejected because of insufficient resources
DILX tried to change the usb unit state from
MAINTENANCE_MODE to NORMAL but
DILX never received notification of a successful state change
DILX tried to switch the unit state from
MAINTENANCE_MODE to NORMAL but was not successful
DILX aborted all cmds via va, d_abort() but the HTBS haven't been returned
While DILX was deallocating his eip buffers, at least one could not be found.
DILX received an end msg which corresponds to an op code not supported by DILX
DILX was not able to restart his timer
DILX tried to issue an I/O for an opcode not supported
DILX tried to issue a oneshot I/O for an opcode not supported
A DILX device control block contains an unsupported unit_state
While trying to print an Event Information
Packet, DILX discovered an unsupported
MSCP error log format.
A DILX cmd completed with a sense key that
DILX does not support
DILX could not compare buffers because no memory was available from EXEC,
ALLOCATE_MEM_ZEROED
While DILX was deallocating his deferred error buffers, at least one could not be found
DILX expected an eip to be on the receive eip q but no eips were there.
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Service Manual
A - 86
Service Manual
Appendix A
Last Fail Code Explanation
80130100
80140100
80150100
DILX was asked to fill a data buffer with an unsupported data pattern.
DILX could not process an unsupported answer in dx, reuse_params().
A deferred error was received with an unsupported template.
01
01
Repair
Action
Code
01
Table A–21 Tape inline exerciser (TILX) last failure codes
Last Fail Code Explanation
81010100
Repair
Action
Code
01
81020100
81030100
81040100
81050100
81060100
81070100
81080100
81090100
810A0100
810B0100
810D0100
810E0100
An HTB was not available to issue an I/O when it should have been
A unit could not be dropped from testing because an available cmd failed
TILX tried to release a facility that wasn't reserved by TILX
TILX tried to change the unit state from
MAINTENANCE_MODE to NORMAL but was rejected because of insufficient resources
TILX tried to change the usb unit state from
MAINTENANCE_MODE to NORMAL but
TILX never received notification of a successful state change
TILX tried to switch the unit state from
MAINTENANCE_MODE to NORMAL but was not successful
TILX aborted all cmds via va, d_abort() but the htbs haven't been returned
While TILX was deallocating his eip buffers, at least one could not be found
TILX received an end msg which corresponds to an opcode not supported by TILX
TILX was not able to restart his timer
TILX tried to issue an I/O for an opcode not supported
A TILX device control block contains an unsupported unit_state
TILX received an unsupported Value Added status in a Value added completion message.
01
01
01
01
01
01
01
01
01
01
01
01
HSD50 Array Controller
Appendix A
Last Fail Code
810F0100
81100100
81110100
81120100
81130100
81140100
81150100
81160100
81170100
81180100
81190100
811A0100
811B0100
811C0100
811D0100
Explanation
TILX found an unsupported device control block substate while trying to build a cmd for the Basic Function test
TILX found an unsupported device control block substate while trying to build a cmd for the Read Only test
TILX found an unsupported device control block substate while trying to build a cmd for the User Defined test
TILX received an EOT encountered while in a substate where EOT encountered should not occur
TILX calculated an illegal position type value while trying to generate a cmd for the position intensive phase of the Basic Function test
While trying to print an Event Information
Packet, TILX discovered an unsupported
MSCP error log format
A cmd which TILX issued was terminated with a sense key of
SCSI_SENSEKEY_ILLEGAL_REQUEST
A cmd which TILX issued was terminated with a sense key of
SCSI_SENSEKEY_VOLUME_OVERFLOW but the End of Medium bit is not set
A TILX cmd completed with a sense key that
TILX does not support
TILX found an unsupported device control block substate while trying to build a SCSI cmd for the Basic Function test
While TILX was deallocating his deferred error buffers, at least one could not be found
TILX expected a deferred error to be on the receive deferred error q but no deferred errors were there.
TILX was asked to fill a data buffer with an unsupported data pattern.
TILX could not process an unsupported answer in tx, reuse_params().
TILX received a SCSI deferred error with a template which is not supported
Repair
Action
Code
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
A - 87
HSD50 Array Controller Service Manual
A - 88
Service Manual
Appendix A
Table A–22 Device configuration utilities (CONFIG/CFMENU) last failure codes
Last Fail Code Explanation
83020100
Repair
Action
Code
01
83030100
83050100
83060100
An unsupported message type or terminal request was received by the CONFIG virtual terminal code from the CLI
Not all alter_device requests from the
CONFIG utility completed within the timeout interval
An unsupported message type or terminal request was received by the CFMENU utility code from the CLI
Not all alter_device requests from the
CFMENU utility completed within the timeout interval
01
01
01
Table A–23 Clone unit utility (CLONE) last failure codes
Last Fail Code Explanation
84010100
Repair
Action
Code
01
84020100
84030100
An unsupported message type or terminal request was received by the CLONE virtual terminal code from the CLI
VA, GET_MEMBER_INFO returned a bad status for a member 10 times in a row.
VA, GET_MEMBER_INFO returned a bad status for a container 10 times in a row.
01
01
Table A–24 Format and device code load utility (HSUTIL) last failure codes
Last Fail Code Explanation
85010100
Repair
Action
Code
01
85020100
HSUTIL tried to release a facility that wasn’t reserved by HSUTIL.
HSUTIL tried to change the unit state from
MAINTENANCE_MODE to NORMAL but was rejected because of insufficient resources.
01
HSD50 Array Controller
Appendix A A - 89
Last Fail Code
85030100
85040100
Explanation
HSUTIL tried to change the usb unit state from MAINTENANCE_MODE to NORMAL but HSUTIL never received notification of a successful state change
HSUTIL tried to switch the unit state from
MAINTENANCE_MODE to NORMAL but was not successful.
01
Repair
Action
Code
01
Table A–25 Code load/code patch utility (CLCP) last failure codes
Last Fail Code Explanation
86000020
Repair
Action
Code
00
86010010
Controller was forced to restart in order for new code load or patch to take effect.
The controller code load function is about to update the program card. This requires controller activity to cease. This code is used to inform the other controller this controller will stop responding to inter-controller communications during card update. An automatic restart of the controller at the end of the program card update will cause normal controller activity to resume.
00
Table A–26 Induce controller crash utility (CRASH) last failure codes
Last Fail Code Explanation
88000000 Controller was forced to restart due to the execution of the CRASH utility.
Repair
Action
Code
00
HSD50 Array Controller Service Manual
A - 90
Service Manual
Appendix A
Repair action codes
This section contains the repair action codes you will reference from
Instance, Codes and Last Fail codes.
06
07
08
09
10
0A
Table A–27 Repair action codes
Action to take Repair Action
Code
00
01
02
03
04
05
No action necessary
An unrecoverable hardware detected fault occurred or an unrecoverable firmware inconsistency was detected, proceed with controller support avenues.
Inconsistent or erroneous information was received from the operating system. Proceed with operating system software support avenues.
Follow the recommended repair action contained in the Last
Failure Code.
There are two possible problem sources:
1. In the case of a shelf with dual power supplies, one of the power supplies has failed. Follow repair action 07 for the power supply with the power LED out.
2. One of the shelf blowers has failed. Follow repair action 06.
There are four possible problem sources:
1. Total power supply failure on a shelf. Follow repair action 09.
2. A device inserted into a shelf that has a broken internal
SBB connector. Follow repair action 0A.
3. A standalone device is connected to the controller with an incorrect cable. Follow repair action 08.
4. A controller hardware failure. Follow repair action 20.
Determine which blower failed and replace it.
Replace the power supply.
Replace the cable. Refer to the specific device documentation.
Determine power failure cause.
Restore on-disk configuration information to original state.
Determine which SBB has a failed connector and replace it.
HSD50 Array Controller
Appendix A
20
22
23
Repair Action
Code
0B
0C
0D
0E
0F
Action to take
The other controller in a dual-redundant configuration has been reset with the Kill line by the controller that reported the event.
To restart the Killed controller enter the CLI command
RESTART OTHER on the Surviving controller and then depress the (//) RESET button on the Killed controller.
If the other controller is repeatedly being Killed for the same or a similar reason, follow repair action 20.
Both controllers in a dual-redundant configuration are attempting to use the same SCSI ID (either 6 or 7, as indicated in the event report).
Note: The other controller of the dual-redundant pair has been reset with the Kill line by the controller that reported the event. Two possible problem sources are indicated:
1. A controller hardware failure.
2. A controller backplane failure.
First, follow repair action 20 for the Killed controller. If the problem persists, then follow repair action 20 for the
Surviving controller. If the problem still persists, then replace the controller backplane.
The Environmental Monitor Unit (EMU) has detected an elevated temperature condition. Check the shelf and its components for the cause of the fault.
The Environmental Monitor Unit (EMU) has detected an external air-sense fault. Check components outside of the shelf for the cause of the fault.
An environmental fault previously detected by the EMU is now fixed. The EIP is used to notify that the repair was successful.
Replace the controller module.
Replace the indicated cache module, or the appropriate memory SIMMs located on the indicated cache module.
Replace the indicated write cache battery.
Caution: BATTERY REPLACEMENT MAY CAUSE
INJURY.
A - 91
HSD50 Array Controller Service Manual
A - 92 Appendix A
Repair Action
Code
24
25
26
Action to take
Check for the following invalid write cache configurations:
If it is the wrong write cache module, replace with the matching module or clear the invalid cache error via the
CLI. See the
CLI Reference Manual for details.
If the write cache module is missing, re-seat cache if it is actually present, or add the missing cache module or clear the invalid cache error via the CLI. See the
CLI
Reference Manual for details.
If this is a dual-redundant configuration and one of the write cache modules is missing, match write cache boards with both controllers.
If this is a dual-redundant configuration and both caches are not of the same type, for example both write-back cache, replace a cache module to assure both are compatible.
If this is a dual-redundant configuration and both write caches are not of the same size, replace a cache module to assure both are compatible.
If the cache module is populated with memory SIMMs in an illegal configuration, reconfigure according to guidelines.
An unrecoverable Memory System failure occurred. Upon restart the controller will generate one or more Memory
System Failure Event Sense Data Responses. Follow the repair actions contained in the respwhichwhichonses.
The Master DRAB detected a Cache Time-out condition. The cache regions in effect are identified in the Master DRAB
RSR register as follows.
Bits 8 through 11 identify the CACHEA memory region
Bits 12 through 15 identify the CACHEB memory region
Bits 20 through 23 the CACHEA DRAB registers region
Bits 24 through 27 identify the CACHEB DRAB registers region
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 36.
Service Manual HSD50 Array Controller
Appendix A
Repair Action
Code
27
28
29
Action to take
The Master DRAB detected an Nbus Transfer Error
Acknowledge (TEA) condition.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 36.
A Multiple Bit ECC error was detected by the Master DRAB.
Use the following register information to locate additional details.
The Master DRAB DER register bits 0 through 6 contain the syndrome value.
The Master DRAB EAR register combined with Master
DRAB ERR bits 0 through 3 (address region) yields the affected memory address.
The Master DRAB EDR register contains the error data. If the failure involved a Device port, the Master DRAB
CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 34.
A Multiple Bit ECC error was detected by the CACHEA0 or
CACHEA1 DRAB. Use the following register information to locate additional details.
The CACHEAn DRAB DER register bits 0 through 6 contain the syndrome value.
The CACHEAn DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEA memory region) yields the affected memory address.
The CACHEAn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 34.
A - 93
HSD50 Array Controller Service Manual
A - 94
Service Manual
Appendix A
Repair Action
Code
2A
2B
Action to take
A Multiple Bit ECC error was detected by the CACHEB0 or
CACHEB1 DRAB. Use the following register information to locate additional details.
The CACHEBn DRAB DER register bits 0 through 6 contain the syndrome value.
The CACHEBn DRAB EAR register combined with the
Master DRAB RSR register bits 12 through 15
(CACHEB memory region) yields the affected memory address.
The CACHEBn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 34.
The Master DRAB detected an Ibus-to-Nbus Time-out condition.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI. If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
If any of the following is true, a firmware fault is indicated; follow repair action 01.
Master DRAB CSR register bits 10 through 12 contains the value 1 and WDR1 register bit 26 is clear.
Master DRAB CSR register bits 10 through 12 contains the value 2 and WDR1 register bit 27 is clear.
Master DRAB CSR register bits 10 through 12 contains the value 3 and WDR1 register bit 28 is clear.
Master DRAB CSR register bits 10 through 12 contains the value 4 and WDR1 register bit 29 is clear.
Master DRAB CSR register bits 10 through 12 contains the value 5 and WDR1 register bit 30 is clear.
Master DRAB CSR register bits 10 through 12 contains the value 6 and WDR1 register bit 31 is clear.
If none of the above conditions were true, follow repair action 36.
HSD50 Array Controller
Appendix A A - 95
HSD50 Array Controller
Repair Action
Code
2C
2D
2E
Action to take
The Master DRAB detected a Nonexistent Memory Error condition. Use the following register information to locate additional details.
The Master DRAB EAR register combined with Master
DRAB ERR bits 0 through 3 (address region) yields the affected memory address.
The Master DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 36.
The CACHEA0 or CACHEA1 DRAB detected a Nonexistent
Memory Error condition.
The CACHEAn DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEA memory region) yields the affected memory address.
The CACHEAn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 36.
The CACHEB0 or CACHEB1 DRAB detected a Nonexistent
Memory Error condition. Use the following register information to locate additional details.
The CACHEBn DRAB EAR register combined with the
Master DRAB RSR register bits 12 through 15
(CACHEB memory region) yields the affected memory address.
The CACHEBn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI. If Master DRAB DSR register bit
14 is clear, the failure was reported via the DRAB_INT.
Follow repair action 36.
Service Manual
A - 96 Appendix A
Repair Action
Code
2F
Action to take
The Master DRAB detected an Address Parity Error or a
Write Data Parity Error condition. Use the following register information to locate additional details.
The Master DRAB EAR register combined with Master
DRAB ERR bits 0 through 3 (address region) yields the affected memory address.
The Master DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI.
If Master DRAB DSR register bit 14 is clear, the failure was reported via the DRAB_INT.
For Write Data Parity Error conditions Bits 0 through 3 of the
Master DRAB CSR register identify the byte in error.
For Address Parity Error conditions follow repair action 34.
For Write Data Parity Error conditions follow repair action
35.
Service Manual HSD50 Array Controller
Appendix A
Repair Action
Code
30
Action to take
The CACHEA0 or CACHEA1 DRAB detected an Address
Parity Error or a Write Data Parity Error condition. Use the following register informtion to locate additional details about the error.
If the failure occurred during a memory refresh attempt, the
CACHEAn DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEA memory region) yields the affected memory address.
If the failure occurred during a memory access attempt, the
CACHEA0 DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEA memory region) or bits 20 through 23 (CACHEA DRAB register region) yields the affected memory address.
Unfortunately, no other information is available to distinguish a memory region access from a DRAB register region access.
The CACHEAn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI. If Master DRAB DSR register bit
14 is clear, the failure was reported via the DRAB_INT.
For Write Data Parity Error conditions bits 0 through 3 of the CACHEAn DRAB CSR register identify the byte in error.
For Address Parity Error conditions follow repair action 34.
For Write Data Parity Error conditions follow repair action
35.
A - 97
HSD50 Array Controller Service Manual
A - 98
Service Manual
Appendix A
Repair Action
Code
31
32
Action to take
The CACHEB0 or CACHEB1 DRAB detected an Address
Parity Error or a Write Data Parity Error condition. Use the following register information to location additional details about the error.
If the failure occurred during a memory refresh attempt, the
CACHEBn DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEB memory region) yields the affected memory address.
If the failure occurred during a memory access attempt, the
CACHEB0 DRAB EAR register combined with the
Master DRAB RSR register bits 8 through 11 (CACHEB memory region) or bits 20 through 23 (CACHEB DRAB register region) yields the affected memory address.
Unfortunately, no other information is available to distinguish a memory region access from a DRAB register region access.
The CACHEBn DRAB EDR register contains the error data.
If the failure involved a Device port, the Master DRAB CSR register bits 10 through 12 identify that Device port.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI. If Master DRAB DSR register bit
14 is clear, the failure was reported via the DRAB_INT.
For Write Data Parity Error conditions bits 0 through 3 of the
CACHEBn DRAB CSR register identify the byte in error.
For Address Parity Error conditions follow repair action 34.
For Write Data Parity Error conditions follow repair action
35.
The Master DRAB detected an Ibus Parity Error condition.
Use the following register information to locate additional details about the error.
The Master DRAB EAR register combined with the Master
DRAB ERR bits 4 through 7 (address region) yields the affected memory address.
The Master DRAB EDR register contains the error data.
If Master DRAB DSR register bit 14 is set, the failure was reported via the NMI. If Master DRAB DSR register bit
14 is clear, the failure was reported via the DRAB_INT.
If bits 20 through 23 of the Master DRAB DCSR register contain a non-zero value, a firmware fault is indicated; follow repair action 01, otherwise, follow repair action 36.
HSD50 Array Controller
Appendix A A - 99
HSD50 Array Controller
60
61
63
37
40
41
43
44
Repair Action
Code
33
34
35
36
45
64
65
Action to take
This event report contains supplemental information related to a Memory System Failure event report delivered earlier.
Use the instance, code contained in the memory address field of this event report to correlate this event report with the other event report.
If bit 31 of the DCSR register of the DRAB that detected the failure is set, it indicate a firmware fault; follow repair action
01. If bit 31 is not set, follow repair action 36.
If bits 20 through 23 of the WDR1 register contain a nonzero value, it indicates a firmware fault; follow repair action
01. If bits 20 through 23 contain zero, follow repair action
36.
No other information is available to aid in diagnosing the cause of the failure. If the Master DRAB detected the failure, follow repair action 20. If the CACHEAn or CACHEBn
DRAM detected the failure, follow repair action 22. If the problem persists, follow repair action 01.
The Memory System Failure translator could not determine the failure cause. Follow repair action 01.
If the Sense Data FRU field is non-zero, follow repair action
41. If the Sense Data FRU field is zero, replace the appropriate FRU associated with the device’s SCSI interface or the entire device.
Consult the device’s maintenance manual for guidance on replacing the indicated device FRU.
Update the configuration data to correct the problem.
Replace the SCSI cable for the failing SCSI bus. If the problem persists, replace the controller backplane, drive backplane, or controller module.
Interpreting the device supplied Sense Data is beyond the scope of the controller’s firmware. See the device’s service manual to determine the appropriate repair action, if any.
Swap the transmit and receive cables for the indicated path.
Check the indicated path cables for proper installation.
For HSHJ3x/4x: Check the CI adapter on the host system identified in the Remote Node Name field for proper operation.
For HSD3x/HS1CP: Check the DSSI adapter on the host system identified in the Remote Node Name field for proper operation.
Excessive VC closures are occurring. Perform repair action
61 on both sets of path cables. If the problem persists, perform repair action 63.
Polling failed to complete in a timely manner. Perform repair action 61 on all path cables.
Service Manual
A - 100
67
68
Repair Action
Code
66
Action to take
The number of hosts forming virtual circuits with the controller exceeds the current user specified maximum.
Increase the maximum number of hosts allowed value.
Perform repair action 61. If the problem persists, perform repair action 20.
The external cache battery cable might have been disconnected.
Appendix A
Service Manual HSD50 Array Controller
HSD50 Array Controller
Glossary
G
Service Manual
G-2
Service Manual
Glossary
adapter
A device that converts the protocol and hardware interface of one bus type into that of another without changing the functionality of the bus.
allocation class
A numerical value assigned to a controller to identify units across multiple, independent controllers. (Controllers in a dual-redundant configuration must have the same allocation class.)
array controller
A hardware/software device that facilitates communications between a host and one or more devices organized in an array. HS family controllers are examples of array controllers.
BBR
Bad block replacement. The procedure used to locate a replacement block, mark the bad block as replaced, and move the data from the bad block to the replacement block.
BBU
Battery backup unit. A StorageWorks SBB option that extends power availability after the loss of primary ac power or a power supply to protect against the corruption or loss of data.
block
The smallest data unit addressable on a disk. Also called a sector. In integrated storage elements, a block contains 512 bytes of data, EDC, ECC, flags, and the block's address header.
CDU
Cable distribution unit. The power entry device for StorageWorks cabinets.
The unit provides the connections necessary to distribute ac power to cabinet shelves and fans.
CLI
Command line interpreter. Operator command line interface for the HS family controller firmware.
HSD50 Array Controller
Glossary G-3
controller shelf
A StorageWorks shelf designed to contain controller and cache memory modules.
CRC
Cyclic redundancy check. An 8-character cyclic redundancy check string used in conjunction with the customer identification string for turning on licensed features such as write-back caching.
data center cabinet
A generic reference to the large cabinets, such as the SW800-series, in which StorageWorks components can be mounted.
DDL
Dual data link. The ability to operate on the CI bus using both paths simultaneously to the same remote node.
differential SCSI bus
A signal's level is determined by the potential difference between two wires.
A differential bus is more robust and less subject to electrical noise than is a single-ended bus.
DILX
Disk inline exerciser. Diagnostic firmware used to test the data transfer capabilities of disk drives in a way that simulates a high level of user activity.
DSA
Digital storage architecture. A set of specifications and interfaces describing standards for designing mass storage products. DSA defines the functions performed by host computers, controllers, and disk drives. It also specifies how they interact to accomplish mass storage management.
DSSI
Digital storage system interconnect. A Digital-specific data bus with an 8bit data transfer rate of 4 MB/s.
HSD50 Array Controller Service Manual
G-4
Service Manual
Glossary
dual-redundant configuration
Two controllers in one controller shelf providing the ability for one controller to take over the work of the other controller in the event of a failure of the other controller.
DUART
Dual universal asynchronous receiver/transmitter. An integrated circuit containing two serial, asynchronous transceiver circuits.
DUP
Diagnostic and utility protocol. Host application software that allows a host terminal to be connected to the controller's command line interpreter.
DWZZA
The StorageWorks compatible SCSI bus signal converter.
ECB
External cache battery.
ECC
Error correction code. One or more cyclic redundancy check (CRC) words that allow detection of a mismatch between transmitted and received data in a communications system, or between stored and retrieved data in a storage system. The ECC allows for location and correction of an error in the received/retrieved data. All ECCs have limited correction power.
EDC
Error detection code. One or more checksum words that allow detection of a mismatch between transmitted and received data in a communications system, or between stored and retrieved data in a storage system. The EDC has no data correction capability.
ESD
Electrostatic discharge. The discharge of a potentially harmful static electric voltage as a result of improper grounding.
failedset
A group of disk drives that have been removed from RAIDsets due to a failure or a manual removal. Disk drives in the failedset should be
HSD50 Array Controller
Glossary
HSD50 Array Controller
G-5 considered defective and should be tested, repaired, and then placed into the spareset.
failover
The process that takes place when one controller in a dual-redundant configuration assumes the workload of a failed controller.
flush
The act of writing data from the cache module to the media.
FRU
Field replaceable unit. A hardware component that can be replaced.
FWD SCSI
Fast, wide, differential SCSI. The differential SCSI bus with a 16-bit parallel data path that yields a transfer rate of up to
20 MB/s.
half-height device
A device that occupies half of a 5.25 inch SBB carrier. Two half-height devices can be mounted in a 5.25 inch SBB carrier. The first half-height device is normally mounted in the lower part of the carrier. The second device is normally mounted in the upper part of the carrier.
HBVS
Host-based volume shadowing. Also known as Phase 2 volume shadowing.
HSOF
Hierarchical storage operating firmware. Software contained on a program card that provides the logic for the HS array controllers.
HIS
Host interconnect services. The firmware in the HS array controller that communicates with the host.
host
Any computer to which a storage subsystem can be attached.
Service Manual
G-6
Service Manual
Glossary
hot swap
A method of replacing a device whereby the system that contains the device remains online and active during replacement. The device being replaced is the only device that cannot perform operations during a hot swap.
initiator
A SCSI device that requests an I/O process to be performed by another
SCSI device (a target). This is always the controller.
local terminal
A terminal plugged into the EIA-423 maintenance port on the front bezel of the HS array controller. Also called a maintenance terminal.
logical unit
The physical device or storage unit seen by the host. Often these logical units are spread across more than one physical device, especially in RAID implementations. This is not a LUN.
Logical Unit Number
See LUN.
LRU
Least recently used. This is cache terminology for the block replacement policy for the read cache.
LUN
A logical unit number is a physical or virtual peripheral device addressable through a target. LUNs use their target's bus connection to communicate on the SCSI bus.
maintenance terminal
Any EIA-423 compatible terminal to be plugged into the HS controller.
This terminal is used to identify the controller, enable host paths, define the configuration, and check controller status. It is not required for normal operations. It is sometimes referred to as a local terminal.
metadata
Data written on the physical disk that is not visible to the host/customer that allows the HS array controller to maintain a high integrity of customer data.
HSD50 Array Controller
Glossary
HSD50 Array Controller
G-7
mirrorset
Two or more physical disks configured to present one highly reliable virtual unit to the host.
MSCP
Mass storage control protocol. The protocol by which blocks of information are transferred between the host and the controller.
non-redundant configuration
A single controller configuration. A controller configuration that does not include an second backup controller permitting failover in the event of a failure.
normal member
A mirrorset member whose entire contents is guaranteed to be the same as all other NORMAL members. All NORMAL members are exactly equivalent.
normalizing member
A mirrorset member whose contents is the same as all other NORMAL and
NORMALIZING members for data that has been written since the mirrorset was created or lost cache data was cleared. Data that has never been written may differ among NORMALIZING members.
NV
Nonvolatile. A term used to describe memory that can retain data during a power loss to the controller.
partition
A percentage of a storageset or single-disk unit that may be presented to the host as a storage unit.
port
The hardware and software used to connect a host controller to a communication bus, such as CI, DSSI, or SCSI bus. This term also is used to describe the connection between the controller and its SCSI storage devices.
Service Manual
G-8
Service Manual
Glossary
PTL
Port-target-LUN. A method of device notation where P designates the controller’s device port (1-6), T designates the target ID of the device (0-6), and L designates the LUN of the device (0-7).
qualified device
A device that has been fully tested in an approved StorageWorks configuration, (that is, shelf, cabinet, power supply, cabling, and so forth) and is in complete compliance with country-specific standards (for example,
FCC, TUV, and so forth) and with all Digital standards.
quiesce
To make a bus inactive or dormant. The operator must quiesce SCSI bus operations, for example, during a device warm swap.
RAID
Redundant array of independent disks. The multiple storage access methods devised for performance (RAID 0, striping) and/or various cost levels of availability (RAID 1 through RAID 5).
RAIDset
Three or more physical disks that are configured to present an array of disks as a single virtual unit to the host.
read cache
The cache used to accelerate read operations by retaining data that has been previously read, written, or erased, based on a prediction that it will be reread.
replacement policy
The method by which a spare disk is selected to replace a disk that has failed in a RAIDset.
SBB
StorageWorks building block. A modular carrier plus the individual mechanical and electromechanical interface required to mount it into a standard StorageWorks shelf. Any device conforming to shelf mechanical and electrical standards is considered an SBB.
HSD50 Array Controller
Glossary G-9
SBB shelf
StorageWorks building block shelf. A StorageWorks shelf, such as the
BA350-Sx, designed to house plug-in SBB modules.
SCS
System communication services. A delivery protocol for packets of information (commands or data) to or from the host.
SCSI
Small computer system interface. An ANSI interface defining the physical and electrical parameters of a parallel I/O bus used to connect initiators to a maximum of seven devices. The StorageWorks device interface is implemented according to SCSI-2 standard, allowing the synchronous transfer of 8-bit data at rates of up to 10 MB/s.
SCSI device
A host computer adapter, a peripheral controller, or a storage element that can be attached to the SCSI bus.
SCSI device ID
The bit-significant representation of the SCSI addressing that refers to one of the signal lines numbered 0 through 7. Also referred to as a target ID.
SCSI-A cable
A 50-conductor 25 twisted pair cable used for single-ended, SCSI bus connections.
SCSI-P cable
A 68-conductor 34 twisted pair cable used for differential bus connections.
Small Computer System Interface
See SCSI.
Spareset
A pool of disk drives used by the controller to replace failed members of a
RAIDset.
HSD50 Array Controller Service Manual
G-10
Service Manual
Glossary
SPD
Software product description. A document that contains the legal description of a product.
storageset
Any collection of containers, such as stripesets, RAIDsets, the spareset, and the failedset, that make up a container.
storage unit
The general term that refers to storagesets, single disk units, and all other storage devices that can be installed in your subsystem and accessed by a host. A storage unit can be any entity that is capable of storing data, whether it is a physical device or a group of physical devices.
StorageWorks
Digital's family of modular data storage products that allows customers to design and configure their own storage subsystems. Components include power, packaging, cabling, devices, controllers, and software. Customers can integrate devices and array controllers in StorageWorks enclosure to form storage subsystems.
StorageWorks building block
See SBB.
stripeset
A virtual disk drive with its physical data spread across multiple physical disks. Stripeset configurations do not include a data recovery mechanism.
striped mirrorset
Stripesets whose members have been mirrored.
tagged command queuing
A SCSI feature that allows a device to have multiple I/O requests outstanding to it at one time.
target
A SCSI device that performs an operation requested by an initiator. The target number is determined by the device's address on its SCSI bus.
HSD50 Array Controller
Glossary G-11
HSD50 Array Controller
TMSCP
Tape mass storage control protocol. The protocol by which blocks of information are transferred between the host and the controller.
unit
The host's view of a container on an HS array controller. A unit may be made up of simply a physical disk or tape drive, or a more complex container such as a RAIDset.
unwritten cached data
Data in the write-back cache that has not yet been written to the physical device, but the user has been notified that the data has been written.
VCS
VAXcluster console system.
virtual terminal
A software path from an operator terminal on the host to the controller's
CLI. The path can be established via the host port on the controller (using
DUP) or via the maintenance port through on intermediary host (VCS). A virtual terminal is also sometimes called a host console.
warm swap
A method for adding or replacing a device whereby the system remains online, but all activity on the device’s bus must be halted for the duration of the swap.
write-back caching
A caching strategy that writes data to the cache memory, then flushes the data to the intended device at some future time. From the user’s perspective, the write operation is complete when the data is stored in the cache memory. This strategy avoids unnecessary access of the devices.
write hole
Undetectable RAID level 1 or 5 data corruption. A write hole is caused by the successful writing of some, but not all, of the storageset members. Write holes occur under conditions such as power outages, in which the writing of multiple members can be abruptly interrupted. A battery backed-up cache design eliminates the write hole, because data is preserved and writes can be retried.
Service Manual
G-12 Glossary
write-through cache
A cache write strategy in which the destination of the write data is the primary storage media. This operation may update, invalidate, or delete data from the cache memory accordingly, to ensure that the cache does not contain obsolete data. The user sees the operation as complete only after the backup storage device has been updated.
Service Manual HSD50 Array Controller
Atsisiųsti
Reklama