소개
이 문서에서는 UCS M7 및 M8 Generation Server에 도입된 새로운 메모리 기능 및 메모리 오류를 이해하고 해결하는 단계에 대해 설명합니다
사전 요구 사항
요구 사항
Cisco에서는 이러한 주제에 대해 알고 있는 것이 좋습니다.
- UCS에 대한 기본 이해
- 메모리 아키텍처에 대한 기본 이해.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- UCS 제품군 서버 M7 및 M8
- UCS 관리자
- CIMC(Cisco Integrated Management Controller)
- Cisco IMM(Intersight Managed Mode)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
메모리 오류 개요
메모리 오류는 최신 서버에서 가장 일반적인 오류 유형 중 하나입니다. 메모리 위치를 읽으려고 시도했지만 읽은 값이 마지막으로 쓴 값과 일치하지 않을 때 오류가 자주 발견됩니다.
메모리 오류는 부드럽거나 강할 수 있습니다. 일부 오류는 수정 가능하지만 단일 메모리 액세스에 대한 여러 개의 동시 소프트 또는 하드 오류는 수정 불가할 수 있습니다.
Cisco UCS M7/M8 메모리 RAS 기능
Cisco UCS M7 및 M8 서버에는 강력한 RAS 기능 집합이 있습니다(여기에 자세히 설명). 이렇게 하면 메모리 오류가 성능 및 시스템 가동 시간에 미치는 영향을 최소화할 수 있습니다.
시스템 레벨 ECC
모든 Cisco UCS M7 서버는 단일 x4 DRAM 칩에 국한된 오류를 수정하고 최대 2개의 장치에서 모든 이중 비트 오류를 감지할 수 있는 ECC 코드가 포함된 메모리 모듈을 사용합니다. 이를 이전 세대 서버에서와 마찬가지로 시스템 레벨 ECC라고 합니다
.
VLS(Virtual Lock-Step)/ADDDC(Adaptive Double Device Data Correction) 스페어링
ADDDC 스페어링은 동일한 영역에 있는 경우 연속되는 두 개의 DRAM 장애를 수정할 수 있습니다. 이 기능은 수정 가능한 오류를 추적하고 "buddy" 캐시 라인에 내용을 예비 복사("예비")하여 오류가 발생한 비트를 동적으로 매핑합니다. 이 메커니즘은 수정 가능한 오류를 완화할 수 있으며, 이는 처리되지 않은 상태로 두면 수정 불가능한 상태가 될 수 있습니다. 이 기능은 VLS(Virtual Lockstep)를 사용하여 동일한 메모리 채널 내에서 뱅크 VLS를 사용하는 DRAM 뱅크 레벨 또는 랭크 VLS를 사용하는 DRAM 디바이스 레벨의 캐시 라인 버디 쌍을 할당합니다.
.
온다이 ECC
온 다이 ECC는 DDR5의 새로운 기능입니다. 이 기능은 기본적으로 활성화되어 있습니다. 데이터가 호스트에 전송되기 전에 모든 단일 비트 오류(하드 및 소프트)가 DRAM으로 수정됩니다. 그러나 이 수정된 데이터는 DRAM에 다시 기록되지 않습니다. ECS(Error Check and Scrub)는 메모리의 단일 비트 오류를 스크럽하고 수정하는 데 사용되는 기능입니다.
오류 검사 및 스크럽(ECS)
ECS는 각 DRAM 다이를 주기적으로(24시간마다) 스크러빙하고 데이터를 어레이에 다시 쓰고 스크러빙 중에 발견된 오류의 카운트를 제공하여 오류를 수정합니다. 이 기능은 기본적으로 활성화되어 있습니다.
PPR(Post Package Repair)
포스트 패키지 수리는 DRAM 장치에서 불량 셀 또는 행을 대체하는 데 예비 행을 사용하는 기능입니다.
Soft PPR(reconfigurable), Hard PPR(permanent), Runtime PPR의 세 가지 유형이 있습니다.
- Intel CPU가 장착된 Cisco UCS M7 서버는 "하드" PPR을 지원합니다. 이는 영구 복구이며 재부팅 중에 이전 런타임 중에 수집된 오류 데이터 또는 EMT 중에 행 오류가 발생한 경우에 따라 수행됩니다.
- 일반적으로 보수는 웜/콜드 리셋 또는 AC 사이클 중에 발생합니다.
- UCS M8에서 세 가지 유형의 PPR을 모두 지원하는 경우 Hard PPR은 기본적으로 활성화되어 있는 반면 Runtime PPR은 비활성화되어 있습니다.
- 런타임 PPR가동 시간에 영향을 주지 않고 시스템 작동 중에 복구할 수 있습니다.
- 하드 PPR과 런타임 PPR이 모두 활성화된 경우 모든 PPR 기능이 사용됩니다. 하드 PPR이 비활성화되어 있지만 런타임 PPR이 활성화된 경우, 시스템은 기본적으로 소프트 PPR로 설정됩니다.
- PPR은 수정 가능한 오류와 긴밀하게 연결되며, PPR이 활성화될 때 각 수정 가능한 오류가 SEL 레코드를 생성합니다.
PMIC(전력 관리 집적회로)
DIMM의 PMIC는 DDR5 메모리 모듈의 주요 기능입니다. 이러한 통합은 전원 관리 기능을 마더보드에서 메모리 모듈 자체로 이동하여 여러 가지 중요한 이점을 제공합니다.
DDR5 메모리의 경우 PMIC 오류 처리가 활성화됩니다.
- PMIC 실패는 런타임 및 부팅 후 둘 다 동안 CELL 레코드를 생성합니다.
- 메모리 교육 중에 메모리 채널에서 PMIC 장애가 탐지되면 영향을 받는 DIMM이 매핑되며, 시스템은 메모리를 줄인 상태로 부팅을 계속합니다
로그 분석
기술 지원을 체크 인할 파일
UCSM_X_TechSupport > sam_techsupportinfo는 DIMM 및 메모리 어레이에 대한 정보를 제공합니다.
섀시/서버 기술 지원
CIMCX_TechSupport\tmp\CICMX_TechSupport.txt -> 서버 X에 대한 일반적인 기술 지원 정보.
CIMCX_TechSupport\obfl\obfl-log -> OBFL 로그는 서버 X의 상태 및 부팅에 대한 지속적인 로그를 제공합니다.
CIMCX_TechSupport\var\log\sel -> 서버 X에 대한 SEL 로그
플랫폼/버전을 기준으로 기술 지원 번들의 파일을 찾습니다.
RAS - ECS(오류 검사 및 스크럽) CE 오류 위치모든 스크럽에서 런타임 시 수집되는 등
/nv/etc/BIOS/bt/DDR5_CISCO_ECS
AMT DIMM에서 CE & UCE Error(CE 및 UCE 오류)에 도달한 경우 다음 부팅 시 자동 실행
nv/etc/BIOS/bt/MrcOut입니다.
AMT_TEST_PATTERN:
ADV_MT_삼성
AMT_결과: 통과했습니다.
PMIC 오류: /nv/etc/DIMM-PMIC.txt
M8 서버에 다음이 포함됩니다:-
nv/etc/BIOS/bt >MrcOut
이러한 파일은 BIOS 레벨에서 볼 수 있는 메모리에 대한 정보를 제공합니다.
DIMM 상태 보고서 테이블과 상호 참조되는 정보가 있습니다.
AMD 서버의 예:-
nv/etc/BIOS/bt >MrcOut
포함 내용:
- BIOS 버전, 빌드 날짜 및 시간
- PSP 펌웨어 버전
- DIMM 상태 및 상태(DIMM이 있는지 여부를 나타냄)
- DIMM 컨피그레이션 세부사항.
2025/08/14 13:44:34
BIOS ID : C245M8.4.3.6b.0 Built 04/28/2025 14:15:22
=====================
PSP Firmware Versions
=====================
ABL Version: 100E8012
PSP: 0.29.0.9B
PFMW (SMU): 4.71.126.0
SEV: 1.1.37.28
PHY: 0.1.38.0
MPIO: 1.0.2D.C4
TF MPDMA: 0.47.3.0
PM MPDMA: 0.47.46.0
GMI: AB.1.27.0
RIB: 2.0.8.39
SEC: D.E.90.71
PMU: 0.0.90.4E
EMCR: 0.0.E0.4E
uCode B1: 0xA101154
DIMM Status:
|=======================|
| Memory | DIMM Status |
| Channel | |
|=======================|
| P1_A | 01 |
| P1_B | 01 |
| P1_C | 01 |
| P1_D | 01 |
| P1_E | 01 |
| P1_F | 00 |
| P1_G | 01 |
| P1_H | 01 |
| P1_I | 01 |
| P1_J | 01 |
| P1_K | 01 |
| P1_L | 00 |
| P2_A | 01 |
| P2_B | 01 |
| P2_C | 01 |
| P2_D | 01 |
| P2_E | 01 |
| P2_F | 00 |
| P2_G | 01 |
| P2_H | 01 |
| P2_I | 01 |
| P2_J | 01 |
| P2_K | 01 |
| P2_L | 00 |
|=======================|
DIMM Configuration:
=================================================
MbistTest = Disabled
MbistAggressor = Disabled
MbistPerBitSlaveDieReport = Enabled
DramTempControlledRefreshEn = Disabled
UserTimingMode = Disabled
UserTimingValue = Disabled
MemBusFreqLimit = Disabled
EnablePowerDown = Disabled
DramDoubleRefreshRate = Disabled
PmuTrainMode = 0x0000
EccSymbolSize = 0x0000
UEccRetry = Disabled
IgnoreSpdChecksum = Disabled
EnableBankGroupSwapAlt = Disabled
EnableBankGroupSwap = Disabled
DdrRouteBalancedTee = Disabled
OdtsCmdThrotEn = Disabled
OdtsCmdThrotCyc = Disabled
=================================================
Enhanced Memory Context Restore : APOB_SAVED
2025/08/14 13:44:34
MCA 출력 파일 인벤토리:-
이 파일에는 모든 뱅크의 MCA 등록에 대한 정보가 포함되어 있습니다.
(UCE 오류가 탐지될 때마다)
--- START OF MCA FILE ---
Timestamp H:M:S 13:44:15 D:M:Y 14:8:2025
--- Note ---
The legacy MCA registers include:
MCA_CTL - Enables error reporting via machine check exception.
MCA_STATUS - Logs information associated with errors.
MCA_ADDR - Logs address information associated with errors. The use of AMD Secure Memory Encryption may change the information logged in the address register.
MCA_MISC0 - Logs miscellaneous information associated with errors.
The MCA Extension registers include:
MCA_CONFIG - Provide configuration capabilities for this MCA bank.
MCA_IPID - Provides information on the block associated with this MCA bank.
MCA_SYND - Logs physical location information associated with a logged error.
MCA_DESTATUS - Logs status information associated with a deferred error.
MCA_DEADDR - Logs address information associated with a deferred error.
MCA_MISC[1:4] - Provides additional threshold counters within an MCA bank.
MCA_TRANSSYND - Logs location information associated with a transparent error.
MCA_TRANSADDR - Logs address information associated with a transparent error.
LS - Load-Store Unit -> Bank 0
IF - Instruction Fetch Unit -> Bank 1
L2 - L2 Cache Unit -> Bank 2
DE - Decode Unit -> Bank 3
Empty/Unused bank -> Bank 4
EX - Execution Unit -> Bank 5
FP - Floating Point Unit -> Bank 6
L3 - L3 Cache Unit -> Bank 7 to 14
MP5 - Microprocessor5 Management Controller -> Bank 15
PB - Parameter Block -> Bank 16
PCS-GMI - GMI Controller -> Bank 17 to 18
KPX-GMI - High Speed Interface Unit(GMI) -> Bank 19 to 20
UMC - Unified Memory Controller -> Bank 21 to 22
CS - Coherent Station -> Bank 23 to 24
NBIO - NorthBridge IO Unit -> Bank 25
PCIE - PCIe Root port -> Bank 26 to 27
PIE - Power Management, Interrupts, Etc -> Bank 28
SMU - System Management Controller Unit -> Bank 29
PCS_XGMI - XGMI Controller -> Bank 30
KPX_SERDES - High Speed Interface Unit(XGMI)-> Bank 31
Empty/Unused bank -> Bank 32 to 63
Total BankNumber = 32
MC Global Capability Value = 120
MC Global Status Value = 0
MC Global Control Value = 0
Number of processor = 64
ProcNum BankNum Socket CCD CCX Core Thread MCA Bank Status MCA Bank Address MCA Configuration MCA IPID MSR VAL MCA SYND MSR VAL MC MISC0 MSR VAL MC MISC1 MSR VAL MC DESTAT MSR VAL MC DEADDR MSR VAL MC SYND1 MSR VAL MC SYND2 MSR VAL
Timestamp H:M:S 13:44:32 D:M:Y 14:8:2025
--- END OF MCA FILE ---
Sel 로그의 PMIC 오류 예:-
DIMM에서 런타임 PMIC 장애가 발생할 때마다 SEL 로그가 아래와 같이 생성되고 호스트는 꺼집니다.
- 2024-06-11 20:26:36 IST ◆경고 시스템 소프트웨어 이벤트: 메모리 센서, 메모리 장애(PMIC 결함이 감지되어 격리됨), DIMM 소켓 1, 채널 A, CPU 2가 확인되었습니다.

다음 호스트 전원을 켤 때 BIOS가 결함이 있는 DIMM을 매핑합니다. 아래 SEL이 표시됩니다.

아래와 같이 결함이 제기됩니다.


RAS 오류 트러블슈팅
일반적으로 UCS Manager에서 이러한 결함이 RAS 이벤트로 표시됩니다.


모든 메모리 오류 카운터를 재설정하는 UCSM CLI 명령:
UCS-A# 범위 서버 x/y
UCS-A /chassis/server # reset-all-memory-errors
UCS-A /chassis/server* # 커밋
SPD 데이터를 지우려면
서버 전원 끄기
그런 다음 UCSM CLI에서 다음 명령을 실행합니다.
UCS-A# connect cimc x/y
UCS-A /chassis/server # reset-all-memory-errors
UCS-A /chassis/server* # 커밋
주목할 만한 버그
1. Cisco 버그 ID CSCwo62396
2. Cisco 버그 ID CSCwq33148
3. Cisco 버그 ID CSCwh73760