IMC(4D) | Devices | IMC(4D) |
imc
— Intel memory
controller driver
/dev/mc/mc*
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:
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.
The imc
driver is only supported on
specific Intel
x86
systems.
June 25, 2019 | OmniOS |