摘要:
An embodiment of the present invention provides a peripheral controller for coupling a mass storage peripheral to a computer system. In a disclosed embodiment the peripheral controller is a disk array controller programmed for RAID. The peripheral controller includes a first messaging unit (FMU), a second messaging unit (SMU), and a peripheral interface which are connected by a local bus. The FMU responds to messages from a first operating system driver. The SMU responds to messages from a different second operating system driver. In one embodiment, the FMU responds to commands from the first operating system driver which is non-standard. In another embodiment, the SMU responds to commands from the second operating system driver which is compatible with the I2O standard. In the disclosed embodiment, the peripheral interface controls mass storage peripherals in response to messages sent to the FMU or the SMU.
摘要:
An embodiment of the present invention discloses a technique that allows hot plugging a peripheral controller card, containing both a local bus and a peripheral bus on a single connector, into a host system board containing a host system bus and a host I/O bus. When mating the peripheral controller card to the host system board a local device power supply (LDPS) is inactive, a peripheral device power bus (PDPB) is powered, and signal lines of a peripheral device are maintained in a high impedance state. Following a delay after the mating, the LDPS is activated by the host operating system (OS). Following the activation of the LDPS, the host system bus is coupled to the single connector through switches that are under OS control. In response to the activation of the LDPS, the signal lines of the peripheral device are enabled.In a disclosed embodiment the peripheral controller card is a disk array controller card, the local bus is a PCI bus, and the peripheral bus is a SCSI bus. In one embodiment the disk array controller card is coupled to a mass storage peripheral and in another embodiment is programmed for RAID. An advantage of an embodiment of the present invention is that a PCI bus and a SCSI bus are carried on a single peripheral connector which provides cable management and readily allows hot plugging a redundant peripheral controller card into the host system board.
摘要:
An embodiment of the present invention discloses a technique for concealing a peripheral memory transaction on a local bus within a peripheral controller from a host system bus. In the preferred embodiment both the local bus and the host system bus are PCI buses. The technique is implemented when a peripheral memory transaction is detected on the local bus. In a disclosed embodiment, the peripheral memory transaction is detected by monitoring command and byte enables (CBEs) and five upper address bits (AD[31::27]) of the local bus. A peripheral memory transaction is indicated when a memory transaction on the local bus is directed to an upper 128 MB of 4 GB host memory. When a memory transaction is detected to the upper 128 MB of memory the transaction is intercepted. The interception is accomplished by blocking the CBEs on the local bus from a peripheral interface.The peripheral interface in the preferred embodiment is a standard PCI--PCI bridge which couples the local bus to the host system bus. After being intercepted, the CBEs are recoded so that the memory transaction does not appear on the host system bus. In the disclosed embodiment the memory CBEs are recoded to reserved CBEs of the same parity as the memory CBEs. An advantage of the present invention is that a standard PCI--PCI bridge can be utilized to interface the peripheral controller to the host system bus.
摘要:
The present invention relates to a secondary channel for a point-to-point burst style bus associated with a computer system. The point-to-point bus may originate as a standardized bus from a fibre channel controller. The point-to-point bus connects to another circuit which may be a bridge circuit, a minicomputer or a peripheral device. A secondary channel is also connected to the point-to-point bus and is adapted to share the bus by receiving information having predetermined addresses. The information recieved by the secondary channel can be stored in a memory that is shared with a processor. Command/control information can be extracted from the point-to-point bus before data is transferred through the bridge circuit in order to allow the data to be acted on more quickly by processing/storage devices since the control data was already made available to the storage devices via the secondary channel.
摘要:
An isolation system and method that electrically couples a device to a bus during cycles associated with or accessing the device, but otherwise isolates the device from the bus. The isolation system includes an isolation device coupled to the device and to the bus that includes an enable input adapted to receive an enable signal, where the isolation device electrically couples the device to said bus while the enable signal is asserted, but otherwise electrically isolates the device from the bus. The isolation system further includes enable logic that detects cycles on the bus and provides the enable signal to the enable input of the isolation device during a cycle if the cycle is associated with the device. The isolation device may comprise a bus switch, one or more discrete isolating devices such as bipolar transistors, field-effect transistors, or any other suitable device for isolating a device from the bus. Generally, the enable logic may comprise decode logic that decodes an address on the bus during the bus cycle to determine if the address corresponds to an address of the device. Decode logic is usefuil for decoding a memory cycle on the bus for accessing a low voltage memory device, which is otherwise isolated from the bus.
摘要:
A system and method is disclosed for debugging of a hardware board that includes a processor with only a single level of interrupts that are either all enabled or all disabled. The processor does not implement nonmaskable interrupts. The processor on the board contains a machine check exception (MCP) input line that permits implementation of a nonmaskable pseudo-interrupt for debugging of the hardware board. The nonmaskable pseudo-interrupt informs the processor of a debug request even when all device interrupts in the interrupt processor are disabled. A processor-to-bus bridge connected to the processor on the hardware board contains a critical interrupt register. Test equipment connected to the processor-to-bus bridge sets a bit in the critical interrupt register for requesting the nonmaskable pseudo-interrupt, the processor-to-bus bridge reading the bit in the critical interrupt register to determine whether a nonmaskable pseudo interrupt debug request has occurred. The processor-to-bus bridge asserts the MCP input line of the processor after determining that the test equipment has requested the nonmaskable pseudo-interrupt. The processor then executes handler software that communicates with the test equipment to debug the hardware board.
摘要:
Systems and methodologies associated with providing additional functionality to a conventional SAS expander are described. One exemplary SAS expander embodiment includes logic for selectively performing source identifier checking for frames received at the SAS expander. The logic may also facilitate selectively performing explicit route checking for frames received at the SAS expander. In one example, the logic may also facilitate selectively providing VLAN-like services to devices connected to the SAS expander.
摘要:
A disk array controller board which utilizes an EISA bus master which is a slave on its internal data bus to allow an advanced drive array controller chip (ADAC) to operate as a master. The ADAC is connected to transfer buffer RAM. The protocol of the internal data bus provides for a cycle to load a host memory address into the bus slave, to provide transfer count information and slave specific information and for a series of data transfer cycles. The local processor is connected to the EISA bus master and the ADAC to control operations and to provide certain information. The ADAC is controlled by structures referred to as command descriptor blocks (CDBs). Each CDB includes information which describes the various addresses, control bits and functional bits used by the ADAC to perform its transfer operations. The local processor directly writes and deposits data forming a CDB into the transfer buffer RAM. The ADAC obtains the CDB, loads the data into registers and then performs operations according to the information contained in these registers until a transfer is done. The ADAC itself performs operations, including automatic stripe scattering and gathering to develop contiguous host memory fields from striped array data. A series of CDBs can be chained so that a complex series of tasks can be developed. In one variation a string of CDBs is developed to transfer data but some data is transferred to the bit bucket, while other data is actually transferred.
摘要:
An apparatus and method for providing wait states using address bits not used in the device address decode. The upper address bits of a computer system are not used for peripheral and memory device decoding purposes. The unused bits are driven to indicate the desired number of wait states to be developed for each selected device, while still allowing a normal decode of the devices. Wait state and ready logic is provided which allows each device address to be assigned one of several possible wait state lengths by driving the most significant bits of the address. The address decode based wait state determination is overridden for RAM operations, and followed for ROM and peripheral operations.
摘要:
An interface between a CPU bus and peripheral device such as a standard embedded controller disk drive uses either a dedicated, I/O mapped register set for control and status communication between the host CPU and the disk controller, or an alternate "flex mode" protocol which allows the drive to be used with great versatility in a wide variety of systems. This alternate "flex mode" protocol does not require changes to the hardware definition of the drive interface, but instead uses the data port to transfer information blocks to set up a subsequent data transfer through this port.