Browse Prior Art Database

Data-Based Derivation of Host Error Recovery Codes

IP.com Disclosure Number: IPCOM000116906D
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 143K

Publishing Venue

IBM

Related People

Basham, R: AUTHOR [+2]

Abstract

When a tape peripheral subsystem reports an error condition to an attached host, it must provide encoded data indicating recommended host action in response to this condition. In single error scenarios, the determination of host-level recovery information is straightforward. When internal error recovery is involved, the number of errors that can occur between the time of the initial incidence and terminated recovery is very dynamic. Each one of these errors can be associated to host recovery action in the trivial case, but when viewed as an aggregate the problem is more complex.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 48% of the total text.

Data-Based Derivation of Host Error Recovery Codes

      When a tape peripheral subsystem reports an error condition to
an attached host, it must provide encoded data indicating recommended
host action in response to this condition.  In single error
scenarios, the determination of host-level recovery information is
straightforward.  When internal error recovery is involved, the
number of errors that can occur between the time of the initial
incidence and terminated recovery is very dynamic.  Each one of these
errors can be associated to host recovery action in the trivial case,
but when viewed as an aggregate the problem is more complex.

      This invention discloses a tape product application with host
attachment to a SCSI host.  Host error recovery in the SCSI
environment is hierarchical in nature.  It is made up of a one-byte
Sense Key and a 2-byte Additional Sense Code/Additional Sense
Qualifier (ASC/ASCQ).  The Sense Key is the highest level category of
the error or exception condition.  Depending on the sophistication of
the SCSI host initiator, this may be the only field used.  A further
breakdown of the error, as viewed from the host initiator's
perspective, is provided in the ASC/ASCQ fields.

      Each error or sequence of errors is posted to an
Error_Collection subsystem prior to any error notification to the
host initiator.  One of the tasks of this subsystem is to sort out
the correct Sense Key/ASC-ASCQ.  This determination is made possible
by a static map of all possible Sense Key/ASC-ASCQ transitions.  This
map or grid is built for each code link and is a composite of "expert
opinion" on what is the most appropriate setting for every
conceivable transition.  The grid has several advantages: complexity
has been encapsulated into data as opposed to a set of microcode
algorithms, the task is localized which removes the responsibility of
assigning host error recovery codes from lower functional levels of
microcode, localization improves maintainability and
understandability, and all possible transitions can accounted for as
opposed to only those perceived as most likely to occur.

      SCSI Sense Key values are architecturally defined to be the
range of hex characters, 0-F.  The product application discussed in
this article supports only a subset of these Sense Keys.  Each Sense
Key is further supported by a set of ASC-ASCQ options.  Table 1 is an
approximate view of these relationships for this application:

The ASC-ASCQ options are not uniquely related to designated Sense
Keys.  There is overlap of allowed ASC-ASCQ options across most
supported Sense Keys.  When error codes are defined, they are
associated to one Sense Key/ASC-ASCQ combination.  The Host Recovery
Transition Grid is a square matrix indexed by the maximum number of
allowed combinations.  When the first error occurs, it defines the
starting row on this matrix.  The row index is the pointer to the
Sense Key/ASC-ASCQ combination...