| the most complete guide to SPARC® based systems and suppliers | ![]() |
Adding Hot-Swap capabilities to |
![]() | |
| Article by:- | Jungo Ltd | |
| Editor's introduction:- | Hot swap is a hot topic in today's web servers. This technology from Jungo Ltd works for SPARC based cPCI systems, so I asked their product manager Amir Inbar to contribute an article for SPARC Product Directory readers. | |
| See also:- | article:- Rugged &
Reliable Data Storage: Solid-State Flash Disks overview - by M-Systems SBus, PCI, cPCI etc - historic guide to busses used in SPARC systems article:- Looking Back at 3rd Party SPARC Technology Firsts article:- Solid State Disks - intro, applications & FAQ's - by Curtis High Availability SPARC systems, Operating systems for SPARC, SPARC ISV's, Backup software, HSM & SRM, Compact PCI SPARC CPU cards, Rackmount SPARC systems, Watchdog cards, Military SPARC Systems, SPARC news | |
|
Compact PCI - short history and market trends CompactPCI is a high performance bus based on the standard PCI electrical specification. It is intended as an industrial bus for application in telecommunications, computer telephony, real-time machine control, industrial automation, real-time data acquisition, instrumentation, military systems or any other application requiring high speed computing, modular and robust packaging design, and long term manufacturer's support. The CompactPCI specification was initiated in 1994 by Ziatech Corporation and has been evolved and developed by an extensive group of companies within the PCI Industrial Computer Manufacturers Group (PICMG). Three main reasons make the CompactPCI attractive for industrial application such as high speed telecomm and datacomm systems:
The need for "Hot Swap" The hot swap feature that has been established in the CompactPCI specification is particularly well suited, almost a critical requirement, for application designs in the telecomm and datacomm markets. In systems that do not support Hot Swapping of peripheral boards, each process of board insertion or removal, requires a complete shut-down of the entire system until the process is complete, in order to prevent damage to other boards or to the system software. In time critical systems such as telecomm and datacomm systems, system downtime is a major financial and quality of service factor; any downtime means a financial loss, and disconnecting service to active lines. Hence, reducing or even eliminating system downtime is critical. The Hot Swap facility allows insertion and removal of CompactPCI boards into a platform, while the system is operational. This facility reduces the system downtime, which may be required for replacement of boards and making changes in the system configuration. The Hot Swap feature is one of the key reasons why CompactPCI architecture is so attractive for telecomm and datacomm vendors.. The problem Hot Swap requires certain levels of circuitry just to prevent electrical damage or glitches that interrupt normal operation of other boards. However, to take advantage of the Hot Swap capability of the hardware, a substantial amount of additional software is required at the device driver level, at the system services level and at the applications level. The software aspect of the Hot Swap process involves allocation of card resources, configuring the newly inserted cards and reallocation of resources when cards are removed. Normally, the system BIOS assigns a memory address space and an I/O address space to each CompactPCI device when the system is powered up. When a CompactPCI board is inserted/exerted after the system has been configured, it requires the system to detect the event and reconfigure the memory and I/O address space dynamically. This is the role of the additional software - basically, the additional software is required to detect the event of a CompactPCI card being inserted/removed, and to reconfigure the system memory and address space accordingly. It is also required to inform the system of the event so that the system and applications running will not be damaged, and the event of insertion/removal will be transparent to the system user. While many hardware products are already electrically and mechanically Hot Swap compatible, up until now little software existed that allowed utilization of the new capabilities. The mass-market operating systems, such as Windows 9x, 98, NT, 2000, CE, NT Embedded, Solaris (until version 8), Linux, and VxWorks, currently lack the additional software layers needed to support the new Hot Swap capabilities. The absence of such software standards has retarded market growth, and is forcing companies either to give up utilization of Hot Swap capabilities, or to develop/buy proprietary solutions. Either way, the situation is a considerable resource consumer. Another problem involves the "Hot Swap" standard itself, which is a bit shady in some of the software areas. The gray areas in the specification has resulted in different implementations of some of the Hot Swap mechanisms provided by the system board manufacturers. As a result, a CompactPCI hardware vendor that desires to ship "Hot Swappable" drivers with the hardware needs to develop and provide a different driver for each different system board needed to be supported. |
||||
|
Conclusion In order to provide a complete "Hot Swappable" solution, the hardware vendor needs to either use proprietary operating systems, or implement the Hot-Swap mechanism from scratch separately for each different system hardware that needs to be supported, and for each different operating system that needs to be supported. |
||||
|
| ||||
|
The solution "GO Hot-Swap" Jungo (Formerly KRFTech Ltd.), a startup company providing solutions for embedded developers, has developed such "additional software" that enables Hot Swap capabilities for CompactPCI hardware. Jungo's "Go Hot-Swap" tools, include a revolutionary operating system extension and a powerful driver development toolkit which together enable Hot Swap support for CompactPCI hardware on all major operating systems, and on all available system boards. Using these tools, players in the telecomm/datacomm markets can now implement Compact PCI Hot-Swap capabilities on Windows 9x, 2000, NT, NT- Embedded, CE, Linux, Solaris and VxWorks, where these capabilities are not natively available. "GO Hot-Swap" also includes a powerful driver development tool kit, which enables development of fully Hot Swappable device drivers from scratch. The resulting code generated by the "GO Hot-Swap" Development Tool Kit is cross platform, and can be re-compiled and executed on any of the major operating systems supported, without rewriting it. Jungo's "GO Hot-Swap" is a generic solution, i.e. it is not depend on the hardware configuration on which it is running, or the host PCI controller it is using. The same drivers written by the hardware vendor using the "GO Hot-Swap" solution will compile and run on all supported operating systems, and on all CompactPCI systems. An additional module in the "GO Hot-Swap" product may be configured to enable legacy PCI drivers to be "Hot Swappable". This innovative feature is explained in more detail further on in this article. |
||||
|
How does it work? "GO Hot-Swap" consists of a kernel-level operating system extension, and of a management module. The kernel level operating system extension is in charge of the following activities:
The "GO Hot-Swap" management module is only active when there is a need to "Hot Swap" hardware which has only non Hot Swap legacy device drivers. In that case, once the "GO Hot-Swap" management module is notified by the "GO Hot-Swap" operating system extension of a device insertion or removal, it runs a pre-configured batch file, which usually unloads and reloads the relevant drivers, and notifies the application of the event. The batch file is configured by the hardware vendor or system integrator thus enabling legacy PCI devices to be "Hot Swappable". |
![]() | |||
|
"GO Hot-Swap" has three deployment methods, as described below: 1. "GO Hot-Swap" Development Toolkit (For hardware vendors)- The development toolkit enables development of fully "hot swappable" Compact PCI device drivers from scratch. The toolkit includes advanced graphical tools and Wizards for diagnosing the hardware, generating and debugging the driver code, and handling of the "Hot Swap" events. The code generated by the "GO Hot-Swap" Development tool kit includes a special API through which "GO Hot-Swap" Operating System Extension can notify the driver of the insertion/removal events. |
![]() | |||
|
In the event of a Hot Swap insertion, The "GO Hot-Swap" OS extension re-configures the card, allocating the required resources for it. A "Card_Inserted" message is sent to the driver via the "GO Hot Swap" API. The driver implemented re-configures itself according to the new resources allocated to the card. When a CompactPCI Hot Swap board is removed, The "GO Hot-Swap" OS extension frees the card's resources. A "Card_Removed" message is sent to the driver via the "GO Hot Swap" API. The driver implemented is informed that the communication with the card has stopped, and may notify the application accordingly. |
![]() | |||
|
2. "GO Hot-Swap" Agent (For System Integrators) Enables CompactPCI users to add Hot-Swap capabilities to their CompactPCI boards, without any change to its existing PCI drivers. The "GO Hot-Swap" Agent is extremely useful for system integrators, seeking to make legacy devices "Hot Swappable" without changing their driver code. The "GO Hot-Swap" Management module is pre-configured with the Vendor and Device IDs of the Compact PCI devices which are to be "Hot Swap" enabled. When such a device is inserted, the "GO Hot-Swap" OS Extension re-configures the device, allocating the required resources for it (or freeing those resources when the device is removed). |
![]() | |||
![]() | ||||
|
The "GO Hot-Swap" Extension notifies the "GO Hot-Swap" Management module, which in turn runs a pre-configured script, which typically unloads and loads the existing driver. The unload/load driver is done so that the driver re-configures itself according to the new resources that were allocated to the card by the "GO Hot-Swap" Extension. |
![]() | |||
|
3. GO Hot-Swap OS Extender (For system board level OEMs) Designed for system board vendors or operating system vendors. The Compact PCI OS extension enables system board or OS vendors to immediately add Hot-Swap capabilities under any OS. When a card is inserted or removed for the first time, the "GO Hot-Swap" Manager pops up a Window asking the operator to assign the driver in use by that card. |
![]() | |||
|
The "GO Hot-Swap" OS Extension re-configures the card, allocating the required resources for it (or frees those resources when the card is removed). The "GO Hot-Swap" Management module then runs a pre-configured script, which typically unloads and loads the existing driver. |
![]() | |||
|
The unload/load driver is done so that the driver re-configures itself according to the new resources that were allocated to the card by the "GO Hot-Swap" Extension. Conclusion The CompactPCI hot swap features addresses the fast growing telecomm and datacomm markets. Yet, the lack of support for CompactPCI Hot Swap by the major operating systems, and the gray areas of the standard itself, resulted in very few real "Hot Swappable" devices. Jungo's new "GO Hot-Swap" solution enables the utilization of CompactPCI Hot Swap on all major operating systems, where this was previously unavailable. "GO Hot-Swap" provides deployment mechanisms for hardware vendors, system integrators and OEMs. As a result of its unique features, "GO Hot-Swap" is ramping up to be the standard solution for "Hot Swap" devices in the telecomm, datacomm, and industrial markets. |
![]() | |||
|
| ||||
| ||||
![]() | ||
| today's SPARC news | SPARC computers | SBus & PCI cards |
| SPARC manufacturers | ||
|
SPARC(R) is a registered trademark of SPARC International, Inc. SPARC PRODUCT DIRECTORY(SM) is a service mark of SPARC International, Inc used under license by ACSL. Products using the SPARC trademarks are based on an architecture developed by Sun Microsystems, Inc. | ||