TCHBK Back to Index page
Control Block Contents 
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

  TCHBK Prolog Top of page
 DESCRIPTION: Track Cache Hash block
 FUNCTION   : To provide mapping of a full track cache hash
              table entry.
              The data is stored right in the hash table.
              Open hashing scheme is used with collisions.
  verview and Terminology -
              The MDC HASH TABLE logically consists
              of a BASE TABLE and COLLISION NODEs.
              Each MDC eligible track is represented by a
              unique fullword KEY.  A hashing algorithm is
              used to convert the key to the address of an
              entry in the base table called a BASE NODE.
              Although each key is unique, multiple keys may
              hash to the same base node causing a
              COLLISION. Collision nodes are assigned from
              storage that is not part of the base table.
              A TCHBK is a 3 word entity that contains
              or provides access to the data structures
              required to serialize and process a single
              track within the Minidisk cache.  A TCHBK
              can appear in a base node or a collision node.
              Whereas a base node consists entirely of one
              TCHBK, a collision node additionally contains
              a one word prefix (see below and HCPCNODE).
              Individual empty entries are filled in by
              HCPFTHRD. The frames that form the base hash
              table is obtained by HCPFTHIN. The first
              collision frame is obtained in HCPFTHIN while
              subsequent frames are acquired by HCPFTHRD as
              Individual entries are cleared by
                 HCPFTHSD, HCPFTHUD
              The collection of TCHBKs that form the actual
                 hash table is deleted by
  TCHBK Control Block Content Top of page

 TCHBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure TCHBK Track Cache Hash block 0000 0 Signed 4 TCHKEY Hash key 0004 4 Signed 4 TCHTKFMT This field either points to or contains the track format data for standard tracks 00000AD4 TCHCOLFG PFX8000S When this bit is on, TCHTKFMT contains the address of a collision node. The 1st word of that node contains the TCHTKFMT data for this node. 0008 8 Address 4 TCHCPEBK (0) CPEBK address if this is a CPEBK node. High order bit of TCHCPEBK indicates that an Unconditional Delete (often referred to as THUD) is required. Note that if this bit is on, the remainder of TCHCPEBK may be zero. I.E. only an unconditional delete is deferred. See also CNOCPEBK. 1... .... TCHUDREQ X'80' Unc. Delete required * Start of TCHADRLX definition 0008 8 Address 4 TCHADRLX (0) Address, lock, flags, DPS index Form: SSSPPLII SSS is segment number PP is page number L is lock nibble II is flags and DPS index High order bit of TCHADRLX indicates if there are any XSTORE blocks for this TCHBK. 1... .... TCHXSTOR X'80' This TCHBK has XSTORE blocks After an XSTORE PGIN/PGOUT error this bit may be on when no PTEs are in XSTORE for this TCHBK. 0008 8 Bitstring 1 * (2) First 16 bits of SSSPP (SSSP) 000A 10 Bitstring 1 TCHLOCK Lock nibble (low 4 bits) High 4 bits are rightmost 'P' of Vaddr .... 1... TCHDEFER X'08' TCHDEFER Processes deferred on CPEBK or flush wants this entry quiesced when current owner is done. .... .1.. TCHMAX X'04' TCHMAX High bit of share .... .11. TCHMAXS X'06' TCHMAXS Max shares .... .111 TCHEXCL X'07' TCHEXCL Exclusive use indication .... ...1 TCHSHAR1 X'01' TCHSHAR1 Shared once .... 1111 TCHLKBTS TCHDEFER+TCHEXCL TCHLKBTS X'0F' - just the lock nibble 0TCHLOCK TCHLKINC 256 TCHLKINC Value to add one to lock when lock byte is referenced as part of the entire TCHADRLX field. of Vaddr 000B 11 Bitstring 1 TCHTBENT Relative table entry 11.. .... TCHASPAC X'C0' TCHASPAC These bits identify the address space used for caching Note: TCMALMSK and TCMALSHF depend on these bits ..11 1111 TCHIXMSK X'3F' TCHIXMSK Bits to hold DPSBK index See also TCMIXMSK. Notes : the fields TCMALMSK and TCMALSHF are used to isolate and manipulate the TCHASPAC bits. End of TCHADRLX definition 0000000C TCHSIZEB *-TCHBK Size of hash entry in bytes The track format data for a standard record. This data may appear in the 2nd word of a TCHBK or may be pointed to by that word (when bit 0 is on). HCPMDCF will return this information in a specified register when GET_SHARED or GET_EXCLUSIVE is specified on the HCPMDCF MACRO.
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure TCHSTDFM Track Cache Hash block 0000 0 Signed 2 TCHCYL CC of Count fields (std) 0002 2 Bitstring 1 TCHFRN First record number (std) 0003 3 Bitstring 1 TCHLRN Lowest record number (std)
  TCHBK Storage Layout Top of page
*** TCHBK - Track Cache Hash block
*     +---------------------------+---------------------------+
*   0 |          TCHKEY           |         TCHTKFMT          |
*     +-------------+------+------+---------------------------+
*   8 |/////////////|:LOCK |:TBENT| C
*     +-------------+------+------+
*** TCHBK - Track Cache Hash block
*** TCHSTDFM - Track Cache Hash block
*     +-------------+------+------+
*   0 |   TCHCYL    |TCHFRN|TCHLRN| 4
*     +-------------+------+------+
*** TCHSTDFM - Track Cache Hash block
  TCHBK Cross Reference Top of page
Symbol         Dspl Value
-------------- ---- -----
TCHADRLX       0008
TCHASPAC       000B C0
TCHCOLFG       0004 00000AD4
TCHCPEBK       0008
TCHCYL         0000
TCHDEFER       000A 08
TCHEXCL        000A 07
TCHFRN         0002
TCHIXMSK       000B 3F
TCHKEY         0000
TCHLKBTS       000A 0F
TCHLOCK        000A
TCHLRN         0003
TCHMAX         000A 04
TCHMAXS        000A 06
TCHSHAR1       000A 01
TCHSIZEB       000B 0000000C
TCHTBENT       000B
TCHTKFMT       0004
TCHUDREQ       0008 80
TCHXSTOR       0008 80
This information is based on z/VM 6.3.0 Last updated on 22 May 2013 at 13:56:13 EDT.
Copyright IBM Corporation, 1990, 2013