Inleiding
Dit document beschrijft nieuwe geheugenfuncties die zijn geïntroduceerd in UCS M7- en M8-generatieservers en stappen om geheugenfouten te begrijpen en op te lossen
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan.
- Basiskennis van UCS.
- Basiskennis van geheugenarchitectuur.
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
- Servers M7 en M8 uit de UCS-reeks
- UCS Manager
- Cisco Integrated Management Controller (CIMC)
- Cisco Intersight Managed Mode (IMM)
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
Overzicht van geheugenfouten
Geheugenfouten behoren tot de meest voorkomende soorten fouten op moderne servers. Fouten worden vaak ontdekt wanneer een poging wordt gedaan om een geheugenlocatie te lezen en de gelezen waarde niet overeenkomt met de laatst geschreven waarde.
Geheugenfouten kunnen zacht of hard zijn. Sommige fouten zijn corrigeerbaar, maar meerdere gelijktijdige zachte of harde fouten op een enkele geheugentoegang kunnen oncorrigeerbaar zijn.
Cisco UCS M7/M8 Memory RAS-functies
Cisco UCS M7- en M8-servers hebben een robuuste set RAS-functies, zoals hier wordt beschreven. Deze minimaliseren de impact van geheugenfouten op de prestaties en de uptime van het systeem.
ECC op systeemniveau
Alle Cisco UCS M7-servers gebruiken geheugenmodules met ECC-codes die elke fout kunnen corrigeren die beperkt is tot één x4 DRAM-chip en elke dubbele-bitfout in maximaal twee apparaten kunnen detecteren. Dit wordt nu aangeduid als ECC op systeemniveau, zoals in oudere generatie servers
.
Virtual Lock-Step (VLS) / Adaptive Double Device Data Correction (ADDDC)-sparing
ADDDC Sparing kan twee opeenvolgende DRAM-fouten corrigeren als ze zich in dezelfde regio bevinden. Deze functie volgt corrigeerbare fouten en brengt op dynamische wijze falende bits in kaart door de inhoud van reservekopieën ("sparen") in een "buddy"-cachelijn te plaatsen. Dit mechanisme kan corrigeerbare fouten beperken die, indien onbehandeld, oncorrigeerbaar zouden kunnen worden. Deze functie maakt gebruik van virtual lockstep (VLS) om cache-line buddy-paren toe te wijzen binnen hetzelfde geheugenkanaal op DRAM-bankniveau met behulp van bank VLS of het DRAM-apparaatniveau met rank VLS.
.
On-die ECC
On-die ECC is een nieuwe functie in DDR5. Deze functie is standaard ingeschakeld. Alle single-bit fouten (hard en zacht) worden gecorrigeerd door DRAM voordat gegevens worden verzonden naar de host. Deze gecorrigeerde gegevens worden echter niet teruggeschreven naar DRAM. Error Check and Scrub (ECS) is de functie die wordt gebruikt om single-bit fouten in het geheugen te scrubben en te corrigeren.
Foutcontrole en scrubben (ECS)
ECS controleert op fouten in de achtergrond door elke DRAM-matrijs periodiek (elke 24 uur) te schrobben, deze te corrigeren door gegevens terug te schrijven naar de array en een telling te geven van de fouten die tijdens de scrub zijn gevonden. Deze functie is standaard ingeschakeld.
Postpakketreparatie (PPR)
Postpakketreparatie is een functie waarbij reservelijnen worden gebruikt om een slechte cel of rij in een DRAM-apparaat te vervangen.
Er zijn drie typen: Soft PPR (opnieuw configureerbaar), Hard PPR (permanent) en Runtime PPR.
- Cisco UCS M7-servers met Intel CPU's ondersteunen "harde" PPR. Dit is een permanente reparatie en wordt uitgevoerd tijdens het opnieuw opstarten op basis van de foutgegevens die zijn verzameld tijdens de vorige runtime of als er rijfouten worden aangetroffen tijdens EMT.
- Reparaties vinden meestal plaats tijdens warme / koude resets of wisselstroomcycli.
- Op de UCS M8 ondersteunen alle drie soorten PPR, Hard PPR is standaard ingeschakeld, terwijl Runtime PPR is uitgeschakeld.
- Met runtime PPR kunnen reparaties worden uitgevoerd tijdens de werking van het systeem zonder de uptime te beïnvloeden.
- Als zowel Hard als Runtime PPR is ingeschakeld, worden alle PPR-functies gebruikt. Als Hard PPR is uitgeschakeld maar Runtime PPR is ingeschakeld, wordt in het systeem standaard Soft PPR ingesteld.
- PPR is nauw verbonden met corrigeerbare fouten en elke corrigeerbare fout genereert een SEL-record wanneer PPR is ingeschakeld.
PMIC (Power Management Integrated Circuit)
De PMIC op een DIMM is een belangrijk kenmerk van DDR5-geheugenmodules. Deze integratie verplaatst de energiebeheerfunctie van het moederbord naar de geheugenmodule zelf, wat verschillende belangrijke voordelen biedt.
Voor DDR5-geheugen is PMIC-foutafhandeling ingeschakeld.
- PMIC-fouten genereren CELL-records tijdens zowel runtime als na het opstarten.
- Als tijdens de geheugentraining een PMIC-fout wordt gedetecteerd in een geheugenkanaal, wordt de betreffende DIMM toegewezen en wordt het systeem verder opgestart met minder geheugen
Analyse van logboeken
Bestanden om in te checken in technische ondersteuning
UCSM_X_TechSupport > sam_techsupportinfo biedt informatie over DIMM en geheugenarray.
Chassis/server tech support
CIMCX_TechSupport\tmp\CICMX_TechSupport.txt -> Algemene technische supportinformatie over server X.
CIMCX_TechSupport\obfl\obfl-log -> OBFL-logs bieden een doorlopend overzicht van de status en het opstarten van server X.
CIMCX_TechSupport\var\log\sel -> SEL-logs voor server X.
Op basis van het platform/de versie gaat u naar de bestanden in tech support-bundel.
RAS - Voor ECS (foutcontrole en scrubben) CE-foutlocatieetc. verzameld tijdens runtime op elke scrub
/nv/etc/BIOS/bt/DDR5_CISCO_ECS
AMT voert automatisch uit bij de volgende opstart als de CE & UCE-fout op DIMM's wordt bereikt
nv/etc/BIOS/bt/MrcOut.
AMT_TEST_PATROON:
ADV_MT_SAMSUNG
AMT_RESULT: GESLAAGD.
PMIC-fout: /nv/etc/DIMM-PMIC.txt
M8-server bevat:-
nv/etc/BIOS/bt >MrcOut
Deze bestanden bieden informatie over geheugen vanuit BIOS-niveau.
Informatie kan hier worden gecontroleerd aan de hand van DIMM-statusrapporttabellen.
Voorbeeld van AMD-server:-
nv/etc/BIOS/bt >MrcOut
Het bevat:
- BIOS-versie, bouwdatum en -tijd
- PSP-firmwareversies
- DIMM-aanwezigheid en -status (geeft aan of DIMM aanwezig is of niet)
- DIMM-configuratiedetails.
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-out bestandsinventarisatie:-
Dit bestand bevat informatie over MCA-registers van alle banken.
(Wanneer een UCE-fout is gedetecteerd)
--- 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 ---
Voorbeeld van PMIC-fout in Sel-logs:-
Wanneer de DIMM een PMIC-fout bij uitvoering vertoont, wordt het SEL-log gegenereerd zoals hieronder wordt weergegeven en wordt de host uitgeschakeld.
- 2024-06-11 20:26:36 IST ◆Waarschuwingssysteemsoftwaregebeurtenis: Geheugensensor, Geheugenfout (PMIC Fout gedetecteerd en geïsoleerd) werd beweerd, DIMM socket 1, Kanaal A, CPU 2. werd beweerd

De defecte DIMM wordt in kaart gebracht door het BIOS op de volgende host ingeschakeld. We zien de SEL hieronder

Er is een fout opgetreden, zoals hieronder wordt weergegeven.


Problemen met RAS-fouten oplossen
Over het algemeen ziet u deze fouten in UCS Manager als een RAS-gebeurtenis.


UCSM CLI-opdrachten om alle geheugenfouttellers te herstellen:
UCS-A# scope server x/y
UCS-A /chassis/server # reset-all-memory-errors
UCS-A /chassis/server* # commit
De gegevens van het EPD wissen:
De server uitschakelen
Voer vervolgens de volgende opdrachten uit vanuit UCSM CLI:
UCS-A# connect cimc x/y
UCS-A /chassis/server # reset-all-memory-errors
UCS-A /chassis/server* # commit
Belangrijke bugs
1. Cisco bug ID CSCwo62396
2. Cisco bug ID CSCwq33148
3. Cisco bug ID CSCwh73760