AUTOSAR_CP_SWS_NVRAMManager
FIG-c46cca80b8e9bd21
297 × 962 px
4 Release(s)
Figure 7.6: Redundant NVRAM block layout
SHA-256 Inhalts-Fingerabdruck:
c46cca80b8e9bd21aead5e6dd62a6bb547b3604d844902fb09d0a8f9c80fb646
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: Schematisches Speicher-/Block-Layout (Physical/Logical NV Memory Data Structure).
- Technischer Zweck: Definition der strukturellen Zusammensetzung eines NV-Speicherblocks vom Typ
NVM_BLOCK_REDUNDANTim AUTOSAR NVRAM Manager (NvM, Memory Stack). - Funktionale Einordnung: Dient der Erhöhung der Datenverfügbarkeit und Fehlertoleranz für sicherheits- oder betriebskritische Non-Volatile-Daten. Das Layout abstrahiert die Speicherorganisation oberhalb des Memory Abstraction Interface (
MemIf) bzw. der Flash/EEPROM-Treiber (Fee/Ea).
2. Komponenten, Entitäten & Schnittstellen
- Instanzen (
NV Block):- Kardinalität: Exakt 2 NV-Blöcke (Kopie 1 und Kopie 2 / Primary und Secondary NV Block) im persistenten Speicher repräsentieren gemeinsam einen logischen NVRAM-Block (
NvMBlockDescriptormitNvMBlockManagementType == NVM_BLOCK_REDUNDANT, gem. SWS_NvM_00531). - Korrespondierend im RAM existiert genau ein gemeinsamer RAM-Block (User Data Buffer oder NvM-interner Mirror) sowie optional ein ROM-Default-Block.
- Kardinalität: Exakt 2 NV-Blöcke (Kopie 1 und Kopie 2 / Primary und Secondary NV Block) im persistenten Speicher repräsentieren gemeinsam einen logischen NVRAM-Block (
- Interne Blocksegmente (je NV-Block):
NV block header (optional): Metadatenbereich für administrative NvM-Zwecke (z. B. Block-Identifikation, Schreibzykluszähler, Sequence Counter, Static Block ID Check).NV block data: Eigentliche Nutzdaten (Payload), identisch mit dem konfigurierten Nutzdatenbereich des RAM-Blocks (NvMNvBlockLength).NV block CRC (optional): Prüfsummenfeld (NvMBlockCrcType: 8-Bit, 16-Bit oder 32-Bit CRC) zur Gewährleistung der Datenintegrität jedes einzelnen NV-Blocks (SWS_NvM_00546).
- Schnittstellenbeziehung zum Lower Layer:
- Der NvM mappt die beiden NV-Blöcke auf zwei separate logische Blocknummern an der
MemIf-Schnittstelle (üblicherweise über Bit 0 der Device-spezifischen Block-ID adressiert: Block-Index2 * BlockIdund2 * BlockId + 1).
- Der NvM mappt die beiden NV-Blöcke auf zwei separate logische Blocknummern an der
3. Dynamisches Verhalten & Sequenzablauf
- Read-Pfad (
NvM_ReadBlock/NvM_ReadAll):- Leseversuch Kopie 1: Der NvM liest Kopie 1 aus dem NV-Speicher und verifiziert optional Header und CRC.
- Erfolg: CRC gültig → Daten werden in den RAM-Block übertragen; Jobstatus wird auf
NVM_REQ_OKgesetzt. - Fallback bei Fehler: Schlägt der Lesevorgang fehl (CRC-Fehler, Hardware-Fehler) → Umschaltung auf Kopie 2.
- Redundancy Recovery: Ist Kopie 2 intakt, werden die Daten in den RAM übernommen,
NVM_E_LOSS_OF_REDUNDANCYan das DEM gemeldet und je nach Konfiguration/Strategie ein Wiederherstellungsschreiben auf Kopie 1 initiiert. - Totalausfall: Sind beide Kopien inkonsistent/defekt → Laden des Default-ROM-Blocks (sofern konfiguriert) und Fehlermeldung
NVM_E_INTEGRITY_FAILEDan das DEM; Jobstatus:NVM_REQ_INTEGRITY_FAILED.
- Write-Pfad (
NvM_WriteBlock/NvM_WriteAll):- Sequenzielles Schreiben beider NV-Blöcke zur Vermeidung von Datenverlust bei Spannungsabfall (Brownout während des Schreibens).
- Neuberechnung der CRC für die RAM-Daten.
- Vollständiger Schreibvorgang für Kopie 1 → Validierung via Write-Verification (optional).
- Erst nach erfolgreichem Abschluss von Kopie 1 wird Kopie 2 geschrieben. Tritt während des ersten Schreibens ein Abbruch auf, bleibt Kopie 2 als konsistenter Altstand erhalten.
4. Normative Relevanz & Entwickler-Hinweise
- Konfiguration (
NvMBlockDescriptorin ARXML):- Parameter
NvMBlockManagementTypezwingend aufNVM_BLOCK_REDUNDANTkonfigurieren. NvMBlockUseCrc = TRUEist für redundante Blöcke normativ dringend geboten (SWS_NvM_00546), da der NvM ohne CRC einen fehlerhaften Leseversuch nur über Rückgabewerte des Treibers (z. B. uncorrectable ECC) detektieren kann.
- Parameter
- Speicherbedarf & Partitionierung:
- Faktor 2: Verdopplung des physikalischen Speicherbedarfs im Flash/EEPROM pro Block zuzüglich zweifacher Header- und CRC-Overheads (
NvMNvBlockNum = 2). Fee/Ea-Sektoren und Block-Tabellen müssen für die doppelte Anzahl an Lower-Level-Blöcken dimensioniert sein.
- Faktor 2: Verdopplung des physikalischen Speicherbedarfs im Flash/EEPROM pro Block zuzüglich zweifacher Header- und CRC-Overheads (
- Timing & Latenzen:
- Schreiboperationen benötigen im Worst-Case mehr als die doppelte Dauer verglichen mit
NVM_BLOCK_NATIVE. Kritisch bei Shutdown-Sequenzen (NvM_WriteAll) bezüglich der FTTI (Fault Tolerant Time Interval) und Power-Down-Hold-Zeiten.
- Schreiboperationen benötigen im Worst-Case mehr als die doppelte Dauer verglichen mit
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.