Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Parity Error Notifier (IxParityENAcc) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
242 Document Number: 252539, Revision: 007
For multi-bit parity errors, no error correction is possible and the Intel XScale core will be notified.
The client application should handle such notifications.
16.4.3 Summary Parity Error Prevention Scenario
IxParityENAcc does not perform parity error prevention tasks. This should be done by the client
application.
Since the DDR SDRAM controller provides the facility to correct single-bit parity errors, it is
possible to run a background process/task to read the SDRAM locations at regular intervals and to
fix the single-bit parity errors when encountered. This may be beneficial by reducing the chance of
parity problems affecting the application code.
Note: In order to scrub single-bit parity error notification due to a read transaction, the scrub routine
should first disable single-bit parity error detection and then perform a read and write access onto
the faulty memory location. Otherwise the read memory access will result in another single-bit
parity error notification and will result in an infinite number of iterations.
The scrub routine should ignore single-bit parity errors notified due to write transactions since the
MCU will have scrubbed the data during the write transaction itself.
16.4.4 Parity Error Notification Detailed Scenarios
This section describes recommended usage of the IxParityENAcc component in several interrupt
scenarios involving data aborts and parity error interrupts. The scenarios and possible
implementations provided here are from the client application perspective only, and could be
resolved in an alternate manner. It is the client application’s responsibility to implement an
enhanced/modified data abort exception handler and the callback routine.
Note that the treatment of prefetch aborts may be very similar to that of data aborts, and is not
described separately.
An Intel XScale core access will result in data abort after experiencing problems in address
translation, memory access protection, etc. These data aborts may not be specifically related to a
parity error. In some situations, however, a parity error will also cause a data abort. Intel XScale
core accesses of South AHB bus targets that receive an AHB error response will result in a data
abort. For example, an attempt to read from the AQM or Expansion Bus results in an AHB error
response due to parity error at the AQM/Expansion Bus Controller.
Any non-Intel XScale core access to faulty SDRAM memory will result in the Parity Error
notification reaching the Intel XScale core, but will not cause a data abort. However, an Intel
XScale core access to an SDRAM memory location that has a multi-bit parity problem will always
result in the MCU triggering a Data Abort and may also result in a multi-bit Party Error notification
if the MCU is configured to detect the parity error.
The parity error context information also include details of the last error observed on the AHB bus.
The information provided may be of help for the client application to decide which course of action
to take. This information is retrieved from a Performance Monitoring Unit register, which might
have been overwritten by another error by the time it is retrieved. The PMU may or may not
include the information related to the parity event. This is because it may include data from
previous errors. For example, an AHB transaction error has been locked into the PMU register, or
there may be a parity event and the register data was retrieved or cleared by another process.