{
{ CML$7221_1_FAILURE_DATA
{
{
{ PURPOSE:
{    The purpose of this statistic is to record the failure data
{ captured by the system when accessing a 7221_1 tape subsystem.
{
{ FREQUENCY: At each failure occurrence.
{
{ CONTENT:
{    The  descriptive-data portion of this statistic contains:
{
{    '<mf>.<iou>.<pp>.<channel>.<adapter>.<unit>*<vsn>*<severity>..
{       *<symptom>
{
{      where <mf> is the identification of the mainframe in the form
{        $SYSTEM_mmmm_ssss.  Where 'mmmm' is the model number of
{        Central Processor zero (CP0), e.g. 0990, and 'ssss' is the
{        serial number of that processor, e.g. 0104.
{
{      where  <iou>  is  the  string  'IOUn' where n is 0 or 1.
{        This identifies the IOU associated with the channel over
{        which the failure was reported.
{
{      where <pp> is the string 'PPn' where n is the logical PP
{       number in decimal of the PP used to process the failing
{       request.
{
{      where <channel> is the string 'CHn' where n is the channel
{       number in decimal through which the disk device was
{       accessed.
{
{      where <adapter> is the element name of the channel adapter
{        used in the failing request.
{
{      where  <unit> is the element name of the failing tape storage
{        device used in the failing request.
{
{      where <vsn> is the external-vsn of the tape volume which  was
{        the object of the failing request.
{
{      where <severity> is the string 'UF'  for  unrecovered,  'RF'  for
{        recovered,  'IF'  for  intermediate and 'IM' for informative
{        message.
{
{      where <symptom> is the symptom/action statement  provided  by
{        the system.
{
{    The  counter-value portion of this statistic contains:
{
{    1.  Logical PP number
{        Bit 57 = 1 implies that the PP is an I4 concurrent PP.
{        Bits 46 thru 51 contain the IOU number of the PP.
{    2.  Channel Number of Controller
{        Bit 57 = 1 implies that the channel is an I4 concurrent
{        channel.
{        Bits 46 thru 51 contain the IOU number of the channel.
{    3.  Equipment Number of Controller
{    4.  Physical Unit Number
{    5.  Unit-type
{       7 - 639_1
{    6.  Logical Operation Code
{       1 - read
{       2 - write
{       3 - rewind
{       4 - unload
{       6 - write_tapemark
{       7 - data_security_erase
{       8 - forespace
{       9 - backspace
{       10 - forespace_tapemark(s)
{       11 - backspace_tapemark(s)
{       12 - get_status
{       13 - TCU_loopback
{       14 - Unit_loopback_I
{       15 - Unit_loopback_II
{       16 - master clear
{    7.  Failure Severity
{       0 - Recovered Failure
{       1 - Unrecovered Failure
{       2 - Intermediate Failure Report
{       3 - Informative Message
{    8.  Failure Symptom Code (tells what the system thinks is wrong)
{       1 - INDETERMINATE (channel or adapter or unit)
{       2 - INPUT CHANNEL PARITY - On an input from controller to PP
{           the channel-error-flag was set.
{       3 - OUTPUT CHANNEL PARITY - On an output from the PP to the
{           controller,  the controller reported a parity error in
{           detailed status but the channel-error-flag was not set.
{       4 - CONTROLLER FAILURE - (reported by controller)
{       5 - UNIT FAILURE
{       6 - FUNCTION TIMEOUT - (controller not responding)
{       7 - TAPE MEDIUM FAILURE
{       8 - ERASE LIMIT EXCEEDED
{      10 - IOU OUTPUT PARITY - On an output from PP to controller
{           both the channel-error-flag and the controller's
{           detailed status indicated a parity error had occurred.
{      11 - INDETERMINATE OUTPUT PARITY - On an output from PP to
{           controller the channel-error-flag was set but there
{           was no parity error reported by the controller.
{      12 - UNABLE TO WRITE ID BURST - The id-burst could not be
{           written at load point.
{      13 - UNABLE TO SET AGC - The drive was not capable of
{           setting automatic gain control.
{      14 - ON THE FLY HARDWARE CORRECTIONS - The reported hardware status
{           indicated that Single or Double Track Corrections were
{           made while the tape file was active. This Failure Symptom
{           Code indicates a valid count in the counter word labelled
{           On The Fly single/double track corrections count.
{
{    9.  Blocks written on Unit
{    10.  Blocks read on Unit
{    11.  On The Fly single/double track corrections count
{    12.  UNUSED
{    13.  Absolute Block Count from Load Point
{    14.  Absolute number of Tape/File Marks from Load Point
{    15.  User requested format parameters
{    16.  Actual Density at which the unit was functioning
{    17.  Type of Recovery performed  on  a  successful  recovery.
{         This will apply when CDC Error Recovery Standard is
{         totally implemented.  The following recovery states are
{         presently listed in the standard, but they may change when
{         the standard is finally approved.
{
{               1 - Load-point Recovery
{               2 - Read Recovery
{               3 - Write Recovery
{               4 - File Mark Write Recovery
{    18.  Retry count of recovery attempts
{    19.  Last requested function (non-status)
{
{   First-failure Data:
{    20 .. 23.  Initial General and Detailed Status (16 PP words  -
{              4 per Counter Word).   See ISMT General/Detailed
{              Status layout.
{    24 .. 28.  Initial Extended Status (ISMT Sense Bytes 0 to 34
{              decimal,  packed with 8 bytes per counter word.
{              Only left-most 3 bytes of last word are relevant.
{              Reference  CDC  Pub. 49793200.
{
{   Last-failure Data:
{    29 .. 32.  Final General and Detailed Status (16 PP words -  4
{              per Counter Word).  See ISMT General/Detailed Status
{              layout.
{    33 .. 37.  Final  Extended Status (ISMT Sense bytes 0 to 34
{              decimal, packed  with  8  bytes  per  counter.
{              Same as 24..28 above.
{    38 .. 46.  Historical Block Identification Window (9 CM words)
{
{              Counter-value 38:
{                     BID index : 0..0ffff(16) (Bits 0 - 15)
{                     Limit: 0..0ffff(16) (Bits 16 - 31)
{                     Reserved : 0..0ffffffff(16) (Bits 32 - 63)
{
{              Counter-value 39 thru 46:
{                ARRAY  [1  ..   window_length] OF 0..0ffff(16)
{                (bid_window_length  is 32 decimal elements)
{    47 .. 55.  Current Block Identification Window (9 CM words)
{              Same structure as Historical window above
{              (Counter-values 38 .. 46)
{    56 .. 62.  Presently unused.
{

  CONST
    cml$7221_1_failure_data = cmc$min_ecc + 5101;

*copyc cmc$condition_limits
