Host Embedded Controller Interface

From Wikipedia, the free encyclopedia

Host Embedded Controller Interface, abbreviated as HECI, is a recent (introduced in 2006) technology used for Active Management Technology (AMT) in Intel chipsets that support Core 2 Duo microprocessors.

Contents

[edit] Details

The HECI bus allows the Host OS to communicate directly with the Manageability Engine (ME) integrated in the chipset. This bi-directional, variable data-rate bus enables the Host and ME to communicate system management information and events in a standard's compliant method, essentially replacing the System Management Bus (SMBus). The bus consists of four wires: a request and grant pair along with a serial transmit and receive data pair.

Original equipment manufacturers (OEMs) have historically provided active management technologies through the use of proprietary on-board controllers, such as Baseboard Management Controllers. These solutions typically suffer two main dissadvantages due to their proprietary nature. High BOM costs are usually incurred due to need for additional components and routing. High PLC costs are incurred due to the non-standard implementation, which increases software and hardware design and validation costs while remaining relatively inflexible to future changes.

The main difference between HECI and the previously used SMBus is that HECI enables the Host OS to control system management devices such as: on-board fan controllers, remote wake devices such as Wake-on-LAN, power supply devices such as Smart Battery Data. Additionally, 3rd-party cards that support HECI can allow the Host OS to directly initiate management events (such as remote wake, or, out-of-band throttling to decrease thermal and power profile). Example devices are network cards and graphics cards. HECI meets the needs of most active management solutions while providing a defined standard for software and hardware vendors.

[edit] Host Initiated Messages

  • Read battery status
  • Read thermal data
  • Enable/disable wake devices
  • Notify devices to change power state (thermal, performance, or power throttling)

[edit] Manageability Engine Initiated Messages

  • Alert Host to battery event
    • Low or Critical battery level
    • Switch between A/C (wall) and D/C (battery)
  • Alert Host to thermal event (Hot or Critical thermal trip)
  • Change Fan Speed
  • Detect network wake
  • Boot/Shutdown System
  • Detected Host Intrusion
  • Change boot device
  • Report system inventory

[edit] Example

As an example, assume the case of Wake-on-LAN. Traditionally, the OS controls Wake-on-LAN and must call third-party device drivers to enable support on a network card. With the HECI bus, the host is able to assert its request line (REQ#), the ME will assert its grant line (GNT#), and the host can send its message using its serial transmit signal. Upon receipt of the Wake-on-LAN enable message on HECI, the ME directly enables Wake-on-LAN in the integrated (or externally supported) network device.

When the magic wake packet is received by the LAN device, the encapsulated data is passed to the ME, which asserts its request line (REQ#), the host acknowledges by asserting grant (GNT#), and the message is passed to the host to initiate a wake event.

There are two main benefits observed through this example. The first is that the magic packet may be encapsulated in TCP packets thus allowing the packet to traverse network infrastructures via routers, which traditional Wake-on-LAN does not support. The second is that the solution does not require third-party drivers and is thereby OS indepenedent.

[edit] References

[edit] See also