When multiple devices need to use the Micro Channel bus at the same time, these devices participate in arbitration. Every device that can arbitrate for control of the bus is assigned a priority level, known as an arbitration level, that is used to determine which device should control the bus next. The arbitration level for each device is contained in a software file, known as an adapter description file (ADF).
   Note: Devices that contend for control of the Micro Channel bus at the same time must not have the same arbitration level. Occasionally, arbitration-level conflicts occur between devices. When this occurs, you can use the system programs to change the arbitration level of one of the conflicting devices.
   Micro Channel architecture has a fairness feature, which ensures that each device gets a turn to control the bus, even if it has a low priority level. The fairness feature guarantees that none of the devices are locked out of the bus and that each device can gain control of the bus within a given amount of time. When you configure your server, you can disable the fairness feature for a device so that it controls the bus more than other devices. A device for which fairness has been disabled can monopolize the bus. Disabling the fairness feature for more than one device is risky. You could cause some devices for which the fairness feature is enabled to be completely locked out of the bus, including the microprocessor. Therefore, it is best to leave the fairness feature enabled for all devices.
   The central arbitration control point is a location in the system master where contending devices send their arbitration signals. It does not actually decide which device should control the Micro Channel bus; the contending devices make that determination among themselves, using the arbitration logic that is programmed into the devices. However, it is the central arbitration control point that actually grants control after the decision is made.

Burst Data Transfer

In non-Micro Channel servers, transferring each byte of data is a two-step process. First, the microprocessor signals that it is going to send a byte of data. Then it sends the byte and signals that it is going to send the next byte. The microprocessor cannot perform any other tasks while it is managing a data-transfer operation in this way. Micro Channel architecture supports burst data transfers, in which data is sent in multiple bytes without intervention by the microprocessor. This improves system performance and allows faster data transfers between devices.
   In some servers, data from the hard disk is moved into a buffer on the hard-disk controller before it is transferred across the bus. (A buffer is a temporary storage space that compensates for a difference in the rate of data flow when data is transferred from one device to another.) Micro Channel architecture allows burst data transfers from the hard disk to memory, without placing the data in a buffer on the hard-disk controller.

Bus Parity Checking

Bus parity checking is a method of verifying that data has not been changed during a data-transfer operation. Bus parity checking uses an extra bit, known as a parity bit, that is sent with each byte of data as it is transferred across the bus. The parity bit is set to 1 or 0 so that each byte has an odd number of 1's (if the server uses odd parity) or an even number of 1's (if the server uses even parity). If the parity (odd or even) of the received byte does not match the parity of the byte as it was sent, an error occurred during transmission and the receiving device can request that the data be sent again.
   Bus parity checking has become a common feature in most servers. It is not 100% accurate, but it greatly reduces the chance for errors. It is essential for most operations because of fast I/O devices, complex I/O configurations, and large memory subsystems.

Channel Check Reporting and Error Logging

Errors can occur not only during data-transfer operations, but also while data is stored in system memory. The contents of a memory location can be changed accidentally, a memory module can be defective, or other hardware failures can occur in the server.
   Your server uses channel-check reporting to detect hardware errors and error logging to record the errors. These records can be used to diagnose and correct problems in the server.
   The channel-check reporting facility automatically locates random and intermittent errors while your server is operating. Information about any failing component is saved in the error log so that you can identify and replace the failing component.

Direct memory access (DMA)

Direct memory access (DMA) is a method of transferring data between system memory and I/O devices without requiring intervention by the microprocessor. DMA is more efficient than programmed I/O, in which the microprocessor reads the data from the sending device and then writes it to the receiving device. In DMA data transfers, data can bypass the system microprocessor as it moves between system memory and I/O devices. DMA improves server performance because the microprocessor does not have to interrupt its processing activities to manage data transfers.
   The DMA controller is integrated into the processor board and manages all DMA data transfers. Transferring data between system memory and an I/O device requires two steps. Data goes from the sending device to the DMA controller and then to the receiving device. The microprocessor gives the DMA controller the location, destination, and amount of data that is to be transferred. Then the DMA controller transfers the data, allowing the microprocessor to continue with other processing tasks.
   When a device needs to use the Micro Channel bus to send or receive data, it competes with all the other devices that are trying to gain control of the bus. This process is known as arbitration. The DMA controller does not arbitrate for control of the bus; instead, the I/O device that is sending or receiving data (the DMA slave) participates in arbitration. It is the DMA controller, however, that takes control of the bus when the central arbitration control point grants the DMA slave's request.

Data bus parity support

Provides for the verification of correct data as it is transferred between the processor and memory and over the Micro Channel. All data moved between individual components on the Processor Complex use this feature (processor, memory controller DMA, Micro Channel controller).


Memory controller which will automatically correct any single bit errors on the fly (98% of memory errors are single bit); all 2 bit errors are found which halt system; some 3 and 4 bit errors are found which halt system; single bit errors are logged with optional software (NetFinity?) and multiple bit errors are logged in NVRAM.

Vital Product Data (VPD)

Allows software (LAN Network Manager, LAN Mgmt Utilities/2) to obtain a unique serial number (identifier) on the processor complex which is in ROM (like Base 3). Also provides unique ID (model/submodel), type/model/ serial number, manufacturing ID, planar FRU number, and planar part number.

This system provides a means of storing and retrieving vital product data (VPD). Vital-product data contains product-specific information that describes various adapters and components within a system. This information can be used in inventory and asset management.

In contrast to system configuration information, which is related to resource allocation, vital-product data contains information related to the physical characteristics, such as part number, engineering level, and product name. For example, the vital-product data for the Server 95 system consists of the model and submodel bytes, the system type number, the system serial number. The vital-product data for the system board includes the system board serial number, a replaceable-unit part number, and the manufacturing location. The vital-product data for the processor complex includes the replaceable-unit part number, a unique part identifier, and the manufacturer ID.

The VPD information for the system, system board, and any installed options that also provide vital-product data can be read using BIOS calls or operating-system utilities (if they are provided). For more information, refer to Interrupt 15H, Vital Product Data System Service ((AH)=D2H) in the IBM Personal System/2 and Personal Computer BIOS Interface Technical Reference.

40 MB/s Streamers

IBM 32-bit MCA busmasters that support 40 MB/s streaming:


A master is a device that can own the Micro Channel bus. When a master owns the bus, it can send data to or receive data from a slave (a device, an adapter, or system memory) without interrupting the microprocessor. There are three types of masters: the system master, bus masters, and the DMA controller.

System Master

The system master assigns system resources, manages the system configuration, issues the commands of the primary operating system, and can grant control of the Micro Channel bus to a bus master.

Bus Master

Your server supports up to 15 bus masters. Bus masters take control of the Micro Channel bus and transfer data directly to and from I/O devices and memory without requiring intervention by the system microprocessor or DMA controller.
   A bus master can have its own microprocessor, instruction cache, and memory. By taking over some of the work of the system microprocessor, bus masters create a multiprocessing environment and increase overall system performance.

DMA Controller

The DMA controller manages data transfers between DMA slaves and memory slaves. This type of transfer is often called a third-party DMA operation. See Direct Memory Access Controller and Direct Memory Access for more information.


A slave is a device that is selected by a controlling master as either the source or the target for a transfer. A slave can also begin a service request, such as an interrupt. There are three types of slaves: memory, I/O, and DMA.

Memory Slave

A memory slave is a device that provides a block of system memory. Memory slaves respond to read and write operations by placing the requested data on the Micro Channel bus or by writing data from the bus to random access memory (RAM). A memory slave can be selected by any of the three types of Micro Channel masters.

I/O Slave

An I/O slave is a device that communicates with or controls a separate piece of equipment, such as a printer. An I/O slave can be selected by the system master or by a bus master.

DMA Slave

A DMA slave is the only type of slave that can initiate arbitration. DMA slaves require the DMA controller to manage data transfers. A DMA slave can be selected by the DMA controller or by a bus master.

Streaming data transfer

The streaming-data procedure allows high-speed transfer of data between bus masters and slaves. This procedure supports high-speed transfers of large blocks of data for devices such as hard disk drives and network adapters.
   The streaming-data procedure transfers blocks of sequentially stored data. In basic data-transfer operations, a target address is assigned for every byte of data that is transferred. The streaming-data procedure assigns a target address only to the first byte of data, and the rest of the data in the block follows in sequence and is assigned to sequential addresses. A streaming-data transfer operation takes 100 nanoseconds to send 4 bytes of data. This is a data-transfer rate of 40 million bytes per second, which is twice as fast as basic data-transfer operations.
   The Micro Channel bus has 32 data lines and 32 address lines. During streaming-data transfer operations, the 32 address lines are used only at the beginning of a transfer cycle. Then they remain idle for the rest of the cycle. The multiplexed streaming-data procedure uses the address bus as another 32-bit data bus, allowing data to be transferred 64 bits at a time.

More information about the various streaming transfer cycles can be found HERE.

Subsystem Control Block (SCB)

Provides for the enhanced transfer of command, data, and status information between busmasters (and between busmasters and the system processor) to give increased performance. Capabilities such as command chaining, data chaining, and block data moves frees the processor from waiting for command completion before issuing the next command and frees the processor for other tasks while a busmaster operates in parallel. Adapters and device drivers must support this feature (many do today).

More information about SCB can be found HERE.

Synchronous Channel Check

Support provides for the signaling of errors synchronously with the transfer in progress. Adapters and device drivers must be designed to support this feature (none do today).

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 08 May 2024 - Changelog | About | Legal & Contact