IMC(4D) 4D IMC(4D)


imc - Intel memory controller driver




The imc driver interfaces with the memory controller found on certain
generations of Intel CPUs and provides a means for decoding physical
addresses to the corresponding memory device. The imc driver plugs into
the operating systems fault management framework providing additional
details to the system about the memory topology and the ability to decode
physical addresses into the corresponding portion of the memory hierarchy.

The imc driver is supported on the following Intel processors:

+o Sandy Bridge E5 and E7 Xeon Processors

+o Ivy Bridge E5 and E7 Xeon Processors

+o Haswell E5 and E7 Xeon Processors

+o Broadwell E5 and E7 Xeon Processors

+o Skylake Xeon Scalable Processors

+o Cascade Lake Xeon Scalable Processors

+o Broadwell and Skylake Xeon-D processors

Other lines involving the above microarchitectures, such as Xeon E3 branded
processors, are not supported as they do not provide the necessary hardware

The imc driver is a pseudo-device driver that amalgamates all of the
different imcstub(4D) instances into a coherent view. The imcstub(4D)
driver attaches to all of the different PCI devices that the processor

One challenge with the imc driver is the Intel Enhanced Machine Check
Architecture v2 (EMCAv2). Many vendors use EMCAv2 to hide memory errors
from the operating system. Such systems limit the effectiveness of the imc
driver and the fault management architecture by hiding correctable and
uncorrectable DIMM errors from the operating system.

The imc driver has a few limitations. Currently it does not always
properly handle lockstep and mirroring mode, particularly in variants that
are common on Skylake and newer systems. It also does not properly handle
cases where Intel Optane NVDIMMs are in use on the memory bus.


The imc driver is only supported on specific Intel x86 systems.


64-bit device driver (x86).

Driver configuration file.


imcstub(4D), fmadm(8), fmdump(8)

OmniOS June 25, 2019 OmniOS