IMC(4D) Devices IMC(4D)
NAME
imc - Intel memory controller driver
SYNOPSIS
/dev/mc/mc*DESCRIPTION
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 support.
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
exposes.
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.
ARCHITECTURE
The
imc driver is only supported on specific Intel
x86 systems.
FILES
/platform/i86pc/kernel/drv/amd64/imc 64-bit device driver (x86).
/platform/i86pc/kernel/drv/imc.conf Driver configuration file.
SEE ALSO
imcstub(4D),
fmadm(8),
fmdump(8)illumos June 25, 2019 illumos