Chapter 4. Continuous availability and manageability 133root cause of the fault is captured without the need to recreate the problem or run anextended tracing or diagnostics program.For the vast majority of faults, a good FFDC design means that the root cause is detectedautomatically without intervention by a service representative. Pertinent error data related tothe fault is captured and saved for analysis. In hardware, FFDC data is collected from the faultisolation registers and from the associated logic. In firmware, this data consists of returncodes, function calls, and so forth.FFDC check stations are carefully positioned within the server logic and data paths to ensurepotential errors can be quickly identified and accurately tracked to an FRU.This proactive diagnostic strategy is a significant improvement over the classic, less accuratereboot and diagnose service approaches.Figure 4-2 shows a schematic of a fault isolation register implementation.Figure 4-2 Schematic of a FIR implementationFault isolationThe service processor interprets error data captured by the FFDC checkers (saved in theFIRs or other firmware-related data capture methods) to determine the root cause of the errorevent.Root cause analysis might indicate that the event is recoverable, meaning that a serviceaction point or need for repair has not been reached. Alternatively, it could indicate that aservice action point has been reached, where the event exceeded a pre-determined thresholdor was unrecoverable. Based upon the isolation analysis, recoverable error threshold countsmight be incremented. No specific service action is necessary when the event is recoverable.When the event requires a service action, additional required information is collected toservice the fault. For unrecoverable errors or for recoverable events that meet or exceed theirMemoryTextDiskNon-volatileRAMTextTextTextTextTextTextTextTextTextTextTextTextTextCPUL1L2 / L3Error checkersText Fault isolation register (FIR)Unique fingerprint of eachcaptured errorLog errorTextText ServiceProcessorTextTextTextTextTextTextTextText