Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public
Document Table of Contents

3.6.3.10. Cache Protection

The Cortex* -A55 core implements the reliability, availability and serviceability (RAS) extension to the Arm* v8-A architecture which provides mechanisms for standardized reporting of the errors that are generated by cache protection mechanisms.
The RAS extension improves the system by reducing unplanned outages:
  • Transient errors can be detected and corrected before they cause application or system failure.
  • Failing components can be identified and replaced.
  • Failure can be predicted ahead of time to allow replacement during planned maintenance.
The Cortex* -A55 core protects against errors that result in a RAM bitcell holding the incorrect value.
The RAMs have the following capability:
  • Single error detect (SED):
    • One bit of parity is applicable to the entire word.
    • Double bit errors are not detected or corrected.
  • Single error correct, double error detect (SECDED)
Table 50.  Cache Protection Behavior
RAM Protection Type Protection Granule Correction Behavior
L1 instruction cache tag Parity, SED 31 bits Both lines in the cache set are invalidated, then the line requested is refetched from L2 or external memory.
L1 instruction cache data Parity, SED 20 bits Both lines in the cache set are invalidated, then the line requested is refetched from L2 or external memory.
L2 TLB tag Parity, SED 40 bits Entry invalidated, new pagewalk started to refetch it.
L2 TLB data Parity, SED 43 bits Entry invalidated, new pagewalk started to refetch it.
L1 data cache tag ECC, SECDED 32 bits Line cleaned and invalidated from L1. SCU duplicate tags are used to get the correct address. Line refetched from L2 or external memory, with single bit errors corrected as part of the eviction.
L1 data cache data ECC, SECDED 32 bits Line cleaned and invalidated from L1, with single bit errors corrected as part of eviction. Line refetched from L2 or external memory.
L1 data cache dirty ECC, SECDED 2 bits Line cleaned and invalidated from L1, with single bit errors corrected as part of the eviction. Only the dirty bit is protected. The other bits are performance hints, therefore do not cause a functional failure if they are incorrect.
L2 cache tag ECC, SECDED 31 bits Tag rewritten with correct value, access retried. If the error is uncorrectable then the tag is invalidated.
L2 cache data ECC, SECDED 64 bits Data is corrected inline, access might stall for an additional cycle or two while the correction takes place.
L2 data buffer ECC, SECDED 72 bits Data is corrected inline, access might stall for an additional cycle or two while the correction takes place.