Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

HARP-B HARP Software Demo July CAN Node Emulator Using the Vector CAN-Tech CANalyzer Raj Atwal CAN Node Emulator.
Presenter: Jyun-Yan Li On the Generation of Functional Test Programs for the Cache Replacement Logic W. J. Perez H. Universidad del Valle Grupo de Bionanoelectrónica.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Presenter: Jyun-Yan Li A Software-Based Self-Test Methodology for On-Line Testing of Processor Caches G. Theodorou, N. Kranitis, A. Paschalis, D. Gizopoulos.
ECE 372 – Microcontroller Design Parallel IO Ports - Interrupts
Computer Systems/Operating Systems - Class 8
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
What Great Research ?s Can RAMP Help Answer? What Are RAMP’s Grand Challenges ?
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Ritu Varma Roshanak Roshandel Manu Prasanna
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Introduction Purpose Objectives Content Learning Time
What are Exception and Interrupts? MIPS terminology Exception: any unexpected change in the internal control flow – Invoking an operating system service.
Cortex-M3 Debugging System
Spring 2014 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
Renesas Technology America Inc. 1 M16C/Tiny SKP Tutorial 2 Creating A New Project Using HEW4.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering.
Main sponsor PicassoMonet + RembrandtMatejko + Canaletto How Debuggers Work Karl Rehmer Failures Come in Flavors Michael Nygard REST in Java Stefan Tilkov.
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
COMP201 Computer Systems Exceptions and Interrupts.
Slides created by: Professor Ian G. Harris Test and Debugging  Controllability and observability are required Controllability Ability to control sources.
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
Input and Output Computer Organization and Assembly Language: Module 9.
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Instituto de Informática and Dipartimento di Automatica e Informatica Universidade Federal do Rio Grande do Sul and Politecnico di Torino Porto Alegre,
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Presenter: Jyun-Yan Li A hybrid approach to the test of cache memory controllers embedded in SoCs’ W. J. Perez, J. Velasco Universidad del Valle Grupo.
LOGO Soft-Error Detection Through Software Fault-Tolerance Techniques by Gökhan Tufan İsmail Yıldız.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
Renesas Technology America Inc. 1 M16C Seminars Lab 3 Creating Projects Using HEW4 14 March 2005 M16C Seminars Lab 3 Creating Projects Using HEW4 Last.
Security Architecture and Design Chapter 4 Part 1 Pages 297 to 319.
Verification of FT System Using Simulation Petr Grillinger.
© 2000 Morgan Kaufman Overheads for Computers as Components Host/target design  Use a host system to prepare software for target system: target system.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
A Binary Agent Technology for COTS Software Integrity Anant Agarwal Richard Schooler InCert Software.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Chapter – 8 Software Tools.
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Real Time Fault Injection Using Enhanced OCD A Performance Analysis DFT 2006 André V. Fidalgo 1,2 Gustavo R. Alves 1 José M. Ferreira 2
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
A New Approach to Software-Implemented Fault Tolerance
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Soft-Error Detection through Software Fault-Tolerance Techniques
VLSI Testing Lecture 14: System Diagnosis
COEN 421- Embedded System and Software Design
UNIT – Microcontroller.
IPCOWALA INSTITUTE OF ENGINEERING & TECHNOLOGY-DHARMAJ
nZDC: A compiler technique for near-Zero silent Data Corruption
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
VLSI Testing Lecture 15: System Diagnosis
QNX Technology Overview
Architectural Support for OS
Single Event Upset Simulation
JTAG, Multi-ICE and Angel
Architectural Support for OS
Fault Tolerant Systems in a Space Environment
Presentation transcript:

Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Torino, Italy

Fault tolerant system  System which is redundant to faults so that output is not affected Why do we need fault tolerant systems?  Vast increase in role of embedded systems in day to day applications, critical systems How to verify the fault tolernace of embedded systems?  By injecting faults and cross checking the output Fault Injection  Simulation based, Software based, Hardware based Contribution of this paper is to exploit some features in recent microcontrollers for software based fault injection in embedded boards

Background Debugging Mode [BDM] Case study for behavior of target board with MC68332 in presence of faults BDM has many plus points over other software based fault injectors One of the special mode of operation in Motorola microcontrollers Debugger is implemented in CPU microcode Allows host processor to access memory, registers, I/O data BDM port shares pins with other development features and when enabled functions as a synchronous serial port

Fault Injection Environment Architecture Minimum intrusiveness achieved by deploying target application code on target system while entire FIM on host machine Fault Injection Manager [FIM]: Takes one fault from the fault list, schedules its injection time and loads environment on target system

Fault Injection Environment Architecture void fault_injection_manager() {/* Experiment Control Loop */ for(every fault fi in the fault list) { target_system_initialization(fi); spawn(target_application); inject_and_observe(fi); } return(); } –All operations are with respect to BDM commands Target System Initialization  Prepare data area and download the program  Fault Injection Data set Up: Fault is picked up from list and breakpoint is set in code where fault is to be injected Inject and observe  Monitors the system, injects faults and observes the system behavior

Fault Detection and Recovery Recovery from fault effects is achieved by modifying Error Detection Exception [EDE] procedures Return address from exception stack frame is modified so as to return to host processor and give the error message FIM reads error message, classifies the fault and compares it with fault free output Categories of Faulty system:- Fail Silent, Detected by some error detection mechanism, Fail Silent Violation and Time Out Violation Time Out check is done using watchdog set to twice the time requied for normal operation

Fault Model and List Generation Fault is injected between any two instructions, so its effect is easily reproduced Fault is identified by: Fault location, Injection Time Injection Time: Given in terms of instruction address or number of instruction repetition Inject and observe routine injects fault at the ‘n’th activation of an instruction by means of BDM command which modfies the memory location or user register as determined by fault location

Fault Model and List Generation Fault list generated before injection  Fault free execution time and instruction set is traced  Random fault list is created in terms of fault location and injection time  Fault list is converted in format required by BDM Fault collapsing  Can be used to optimize the fault list Two classes of Error Detection Mechanism [EDM]  Hardware  Software

Fault Analysis and Fault Coverage Benchmark evaluation for Bubble Sort, Parser and Dhrystone  Set of 1000 randomly generated faults were injected in data memory, code memory and microcontroller registers

Limitations of Fault Injection via BDM Microcontroller speed decreases when BDM mode is entered upon Serial communication between host and target introduces significant delay Little difficult to apply for time related characteristics of real time systems The papers gives a good insight to understand a new perspective of debugging environment The fault analysis and coverage statistics helps understand the need for deployment of such methods to make fault tolerant product development process more efficient Paper Summary