This document is the MASSBUS Specification, defining a standard interface for connecting controllers with various mass-storage devices such as disks, drums, and tapes. Proposed by Gordon Bell in July 1972, its core motivations included standardizing peripheral interfaces, enabling controllers to manage multiple drive types, streamlining design, and supporting higher data rates (up to 36 MHz).
The Massbus is functionally divided into two main sections:
- Control Bus: Features a 17-bit path and 14 control lines (plus parity) for transmitting commands, status information, and managing "handshake" protocols.
- Data Bus: Consists of a 19-bit parallel data path and 6 control lines (plus parity) for high-speed data transmission.
Key aspects detailed in the specification include:
- Division of Functions: Clearly outlines responsibilities between the controller (e.g., memory interface, buffering, command interpretation) and the drive (e.g., data recording/playback, error detection/correction, media-specific operations).
- Signals and Protocols: Defines the various signals on both buses for communication, timing, and control, including mechanisms for attention, initialization, and exceptions.
- Drive Registers: Specifies standard addressable registers (e.g., Control, Status, Error, Attention Summary) for command initiation, configuration, and status reporting.
- Commands: Categorizes commands into non-data transfer (e.g., Seek, Unload) and data transfer (e.g., Read, Write) with descriptions for various device types.
- Error Handling: Defines Class A (handled at block boundary/command completion) and Class B (immediate termination) error protocols, using dedicated Attention (ATTN) and Exception (EXC) lines.
- Configurations: Supports single, daisy-chain, radial, and dual-controller setups, detailing their operational characteristics.
- Physical and Electrical Specifications: Provides constraints on data rates, cable lengths (up to 160 feet), and detailed electrical parameters for line drivers, receivers, and cables, along with notes for hardware designers and software programmers regarding implementation and common issues.