Level One Memory System

Errors on instruction cache read

All parity or ECC errors detected on instruction cache reads are correctable. If aborts are enabled, a precise prefetch abort exception occurs. The instruction FAR gives the address that caused the error to be detected. The instruction FSR indicates a parity error on a read. The auxiliary FSR indicates that the error was in the cache and which cache Way the error was in.

Errors on data cache read

If parity or ECC aborts are enabled, or an uncorrectable ECC error is detected, a precise data abort exception occurs. The data FAR gives the address that caused the error to be detected. The data FSR indicates a precise read parity error. The auxiliary FSR indicates that the error was in the cache and which cache Way the error was in.

Errors on data cache write

If parity or ECC aborts are enabled, or an uncorrectable ECC error is detected, an imprecise data abort exception occurs. Because the abort is imprecise, the data FAR is Unpredictable. The data FSR indicates an imprecise write parity error. The auxiliary FSR indicates that the error was in the cache and which cache Way and Index the error was in.

In write-through cache regions the store that caused the error is written to external memory using the L2 memory interface so data is not lost and the error is not fatal.

Errors on evictions

If the cache controller has determined a cache miss has occurred, it might have to do an eviction before a linefill can take place. This can occur on reads, and on writes if write-allocation is enabled for the region. Certain cache maintenance operations also generate evictions. If it is a data-cache line which is dirty, an ECC error might be detected on the line being evicted:

if the error is correctable, it is corrected inline before the data is written to the external memory using the L2 memory interface

if there is an uncorrectable error in the tag or dirty RAM, the write is not done and an imprecise abort occurs

if there is an uncorrectable error in the data RAM, the AXI master port WSTRBM signal is deasserted for the word(s) with an error, and an imprecise abort occurs.

An imprecise abort can also occur on a correctable error depending on the Auxiliary Control Register bits [5:3], see Auxiliary Control Registers on page 4-38.Any detected error is signaled with the appropriate event.

Note

When parity checking is enabled, force write-though is always enabled. Therefore the cache lines can never be dirty, and so evictions are not required. Force write-through can also be enabled with ECC checking.

Errors on cache maintenance operations

The following sections describe errors on cache maintenance operations:

Invalidate all instruction cache on page 8-24

Invalidate all data cache on page 8-24

Invalidate instruction cache by address on page 8-24

Invalidate data cache by address on page 8-24

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

8-23

ID013010

Non-Confidential, Unrestricted Access

 

Page 219
Image 219
ARM R4F, r1p3 Errors on instruction cache read, Errors on data cache read, Errors on data cache write, Errors on evictions