Рассмотрим один из вариантов проблемы, когда BMC сервера CH121 V3 выдает ошибки памяти.
Для начала посмотрим, что нам говорит SEL(systemeventslog): видим, что DIMM020 и DIMM030 сообщают о неисправимой ошибки, что в итоге приводит к CPU CAT ERROR и падению сервера.
Логи FDM далее подсказывают нам о том что на канале 1 процессора 0 происходит ошибка DDR4 CAP (command/access parity)
Кроме того, на DIMM000, DIMM010, DIMM020 и DIMM030 также возникает ошибка Cbo TOR_TIMEOUT и проблема со сторожевым таймером MLC.
Среди DIMM010, DIMM011 и DIMM012 в 1 канале памяти процессора 0, правильно определён только DIMM010
При возникновении ошибки CAP в памяти DDR4 контроллер памяти попытается обработать данные, связанные с ошибкой ещё раз для чего он заблокирует на время все операции с памятью на контроллере. Если ошибки CAP единичная, то контроллер сможет получить правильные данные при повторных попытках обработки, это займёт немного времени и практически не повлияет на работу системы. Однако, когда возникает несколько таких ошибок, которые при этом идут непрерывно, то контроллеру памяти приходится выполнять повторные попытки обработки для всех связанных данных и он будет блокировать всю остальную работу с памятью при каждой повторной обработке. В этом случае таймаут задач на чтения-записи в дальней части очереди происходит раньше, чем в ближней.
LLC и MLC запускают таймер для каждого запроса доступа к памяти. Время ожидания запросов в LLC и MLC растёт из-за большого количества ошибок CAP. В этом случае возникают ошибки TOR_TIMEOUT и сторожевого таймера MLC. Ошибки сторожевого таймера LLC TOR_TIMEOUT и MLC являются неисправимой ошибкой в текущей архитектуре Intel RASM и приводят к падению системы.
Исходя из того, что мы узнали выше, то можно сделать вывод, что неисправен DIMM010 и его необходимо заменить. Ошибки у DIMM000,DIMM020 и DIMM030 связаны с проблемами DIMM010, поэтому никаких действий с ними не требуется.