본 논문에서는 국방용 임베디드 시스템의 신뢰도를 테스트 할 수 있는 JTAG fault injection 기법과 fault, error, failure에 대한 분류 기법들을 새롭게 제안하였다. JTAG fault injection 기법은 JTAG을 사용하여 실제 hardware에서 발생할 수 있는 fault를 software에서 인위적으로 유사하게 발생시킬 수 있다. 이 기법을 적용하여 시스템 취약도에 대한 정량적 분석이 가능하였다. 본 논문의 JTAG fault injection 실험은 통계적인 방법을 적용하였으며, 실제 H/W 결함과 유사한 결함을 메모리의 임의의 위치에 주입하였다. 결함주입 실험 결과는 기존의 fault, error, failure 분류 기법을 보완한 재분류 기법을 적용하여 분석하였다. 그 결과, 약 19%의 failure 탐지율 향상을 보였다. 이 실험결과는 시스템에서 발생할 수 있는 fault, error, failure의 체계적 분류, 프로세스 검증, 신뢰성 개선을 위한 데이터로 활용이 가능하다.
본 논문에서는 국방용 임베디드 시스템의 신뢰도를 테스트 할 수 있는 JTAG fault injection 기법과 fault, error, failure에 대한 분류 기법들을 새롭게 제안하였다. JTAG fault injection 기법은 JTAG을 사용하여 실제 hardware에서 발생할 수 있는 fault를 software에서 인위적으로 유사하게 발생시킬 수 있다. 이 기법을 적용하여 시스템 취약도에 대한 정량적 분석이 가능하였다. 본 논문의 JTAG fault injection 실험은 통계적인 방법을 적용하였으며, 실제 H/W 결함과 유사한 결함을 메모리의 임의의 위치에 주입하였다. 결함주입 실험 결과는 기존의 fault, error, failure 분류 기법을 보완한 재분류 기법을 적용하여 분석하였다. 그 결과, 약 19%의 failure 탐지율 향상을 보였다. 이 실험결과는 시스템에서 발생할 수 있는 fault, error, failure의 체계적 분류, 프로세스 검증, 신뢰성 개선을 위한 데이터로 활용이 가능하다.
In this paper, it is proposed that JTAG fault injection environment and the results of the classification techniques that the reliability of embedded systems can be tested. As applying these, this is possible to quantitative analysis of vulnerable factor for system. The quantitative analysis for the...
In this paper, it is proposed that JTAG fault injection environment and the results of the classification techniques that the reliability of embedded systems can be tested. As applying these, this is possible to quantitative analysis of vulnerable factor for system. The quantitative analysis for the degree of vulnerability of system is evaluated by faults errors, and failures classification schemes. When applying these schemes, it is possible to verify process and classify for fault that might occur in the system.
In this paper, it is proposed that JTAG fault injection environment and the results of the classification techniques that the reliability of embedded systems can be tested. As applying these, this is possible to quantitative analysis of vulnerable factor for system. The quantitative analysis for the degree of vulnerability of system is evaluated by faults errors, and failures classification schemes. When applying these schemes, it is possible to verify process and classify for fault that might occur in the system.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 국방용 임베디드 시스템의 신뢰성 검증에 사용할 수 있는 JTAG 기반 결함주입 기법을 제안하였다. JTAG 기반 결함주입 기법은 디버거를 사용하여 target 시스템에 영향을 주지 않고 경제적으로 디버깅할 수 있다.
가설 설정
Fault란, H/W 또는 S/W 내의 불완전성 혹은 fault를 의미한다. Fault의 종류에는 1) H/W fault와 2) S/W fault로 구분할 수 있다. H/W fault는 Permanent fault, transient fault, intermittent fault 등의 물리적 fault를 나타낸다.
또한, 결함(fault), 오류(error), 고장 (failure)에 대한 분류 기법을 바탕으로 실험 결과를 분석하여 결함(fault), 오류(error), 그리고 고장(failure)의 상관관계를 분석할 수 있다. JTAG 결함주입의 장점은1) 결함주입 시 대상 H/W의 파손 위험성이 없고, 2) 실시간으로 칩 내부의 제어와 관찰이 가능하며, 3) 결함주입이 용이하고, 4) 신속/정확한 테스트가 가능하다. 그리고 5) 코드 수정과 같은 복잡한 작업 과정 불필요하다.
JTAG 결함주입의 장점은1) 결함주입 시 대상 H/W의 파손 위험성이 없고, 2) 실시간으로 칩 내부의 제어와 관찰이 가능하며, 3) 결함주입이 용이하고, 4) 신속/정확한 테스트가 가능하다. 그리고 5) 코드 수정과 같은 복잡한 작업 과정 불필요하다.
제안 방법
기존 ILE를 적용한 경우에는 error 구분이 분명하지 않은 경우가 발생하였다. Error 구분이 분명하지 않은 경우는 Table 2와 같이 error 분류 기법을 보완하여 구분이 모호한 error를 추가로 파악하였다. 그리고 이 fault들의 전파 과정을 추적하여 시스템의 취약 부분을 보다 명확하게 찾을 수 있었다.
로 재구분하여 실험하였다. Fault, error, failure에 대한 기존 분류와 재분류를 비교/분석하였다.
실험은 메모리의 특정 주소 공간을 결함주입 구간으로 선정하여 진행하였다. 결함주입은 결함주입 대상 주소의 단일 비트(single bit)에 일시적인 fault(transient fault)를 주입하였다. 이 기법은 메모리의 결함주입 대상 주소인 32bit값 중 1bit만을 변경하는 기법이다.
본 논문에서 제안하는 JTAG 기반 결함주입 기법은 국방용 임베디드 시스템 신뢰성 평가에 사용하는 기존의 결함주입 기법을 보완할 수 있고, H/W에서 가장 빈번하게 발생할 수 있는 결함들을 JTAG을 사용하여 유사하게 구현할 수 있다. 또한, 결함(fault), 오류(error), 고장 (failure)에 대한 분류 기법을 바탕으로 실험 결과를 분석하여 결함(fault), 오류(error), 그리고 고장(failure)의 상관관계를 분석할 수 있다. JTAG 결함주입의 장점은1) 결함주입 시 대상 H/W의 파손 위험성이 없고, 2) 실시간으로 칩 내부의 제어와 관찰이 가능하며, 3) 결함주입이 용이하고, 4) 신속/정확한 테스트가 가능하다.
JTAG 결함주입 실험을 분석한 결과, 기존의 fault, error, failure 분류보다 이를 보완한 재분류 기법을 적용한 경우가 약 19% 정도 높은 failure 탐지율을 보였다. 또한, 기존 fault, error, failure 분류를 보완한 기법들을 적용하여 시스템에서 어떤 부분이 fault에 취약하고 어떤 부분이 fault에 강인한지 확인하였다. 그리고 fault 취약구간을 찾아 어떤 요인이 failure rate를 높이는 원인인지 파악할 수 있었다.
본 실험에서는 3가지 test S/W인 bitstring, rad2deg, pbmsrch에 결함주입을 수행하고 각각의 test S/W를 normal과 3-ver.로 재구분하여 실험하였다. Fault, error, failure에 대한 기존 분류와 재분류를 비교/분석하였다.
Failure 분류는 장치에서 발생하는 서비스에 의해 정의된다. 본 논문에서 적용하는 failure 분류는 Data violation, Time out, Complete with delay, Error without effect의 4가지 유형으로 나타낼 수 있다.
본 논문의 실험에서는 임베디드 보드에서 실제로 발생한 fault를 ODC 기반으로 재분류하였다. 본 논문의 사전 실험을 바탕으로 재분류한 fault 유형은 Table 1과 같다.
본 실험에서는 3가지 test S/W인 bitstring, rad2deg, pbmsrch에 결함주입을 수행하고 각각의 test S/W를 normal과 3-ver.로 재구분하여 실험하였다.
대상 데이터
결함주입은 target board의 메모리를 대상으로 하여 수행하였다. 실험은 메모리의 특정 주소 공간을 결함주입 구간으로 선정하여 진행하였다.
수행할 결함주입 대상 프로그램은 Mibench[10]의 bitstrng(bitcount), rad2deg(basicmath), pbmsrch (stringsearch)이다. 본 실험은 normal과 3-version을 대상으로 실험한다. Normal program은 고장 감내 기법을 적용하지 않은 원본 프로그램이다.
결함주입은 target board의 메모리를 대상으로 하여 수행하였다. 실험은 메모리의 특정 주소 공간을 결함주입 구간으로 선정하여 진행하였다. 결함주입은 결함주입 대상 주소의 단일 비트(single bit)에 일시적인 fault(transient fault)를 주입하였다.
데이터처리
결함주입 수행 결과를 확인하고 실험을 완료한다. 이상의 결함주입 수행 절차를 반복하여 결과를 수집하고 fault, error, failure 분류 기법을 적용하여 실험 결과를 분석한다.
이론/모형
2.3.4 신뢰도 측정 및 결함 횟수 산정 결함주입 대상 프로세서들과 결함주입 환경이 준비되면 각 프로세서에 결함주입 실험을 수행하여 신뢰도를 측정하기 위하여 architectural vulnerability factor (AVF)를 구한다[12]. 본 논문에서는 통계적인 결함주입을 적용한 AVF 측정법을 사용한다.
Normal program과 N-version program의 결함주입 수행은 JTAG 결함주입 절차를 따른다. JTAG 결함주입 수행 결과는 fault, error, failure에 대한 기존 분류와 재분류 기준을 적용하여 실험 결과 분석에 활용한다.
N-version program의 기본 개념은 소프트웨어 모듈을 N번 설계하고 코드화하는 것이고 이 모듈들에 의해 생성된 N개의 결과를 비교하는 것이다. 본 논문에서 사용하는 test S/W의 N-version은 3-version programming을 적용하였다. 3-version programming은 H/W의 TMR과 유사하게 소프트웨어 모듈을 3개 설계하고 코드화한 것이다.
4 신뢰도 측정 및 결함 횟수 산정 결함주입 대상 프로세서들과 결함주입 환경이 준비되면 각 프로세서에 결함주입 실험을 수행하여 신뢰도를 측정하기 위하여 architectural vulnerability factor (AVF)를 구한다[12]. 본 논문에서는 통계적인 결함주입을 적용한 AVF 측정법을 사용한다. [Form.
성능/효과
JTAG 기반 결함주입 기법은 디버거를 사용하여 target 시스템에 영향을 주지 않고 경제적으로 디버깅할 수 있다. JTAG 결함주입 실험을 분석한 결과, 기존의 fault, error, failure 분류보다 이를 보완한 재분류 기법을 적용한 경우가 약 19% 정도 높은 failure 탐지율을 보였다. 또한, 기존 fault, error, failure 분류를 보완한 기법들을 적용하여 시스템에서 어떤 부분이 fault에 취약하고 어떤 부분이 fault에 강인한지 확인하였다.
본 논문에서 제안하는 JTAG 기반 결함주입 기법은 국방용 임베디드 시스템 신뢰성 평가에 사용하는 기존의 결함주입 기법을 보완할 수 있고, H/W에서 가장 빈번하게 발생할 수 있는 결함들을 JTAG을 사용하여 유사하게 구현할 수 있다. 또한, 결함(fault), 오류(error), 고장 (failure)에 대한 분류 기법을 바탕으로 실험 결과를 분석하여 결함(fault), 오류(error), 그리고 고장(failure)의 상관관계를 분석할 수 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
failure 분류는 어떤 유형으로 나타낼 수 있는가?
Failure 분류는 장치에서 발생하는 서비스에 의해 정의된다. 본 논문에서 적용하는 failure 분류는 Data violation, Time out, Complete with delay, Error without effect의 4가지 유형으로 나타낼 수 있다.
비용을 낮추기 위해서는 Safety-critical 시스템을 양산 전·후에 테스트하여야하는 이유는?
결함 주입 기법은 시스템을 정확하게 검증할 수 있다는 장점이 있다. 하지만 인위적으로 주입한 결함이 실제 시스템에서 발생하는 결함과 얼마나 정확하게 대응하는지, 그리고 수많은 결함 중에 어떤 결함을 주입할 것인가를 결정하기 위해서는 많은 요소들이 고려되어야 한다. 또한, 현재의 결함주입 기법들(H/W 기반 결함주입 기법, S/W 기반 결함주입 기법, Simulation 기반 결함주입 기법)[2]은 시스템 설계 및 생산 비용을 증가시킨다. 따라서, 이러한 비용을 낮추기 위해서는 Safety-critical 시스템을 양산 전·후에 테스트하여야 한다.
결함주입 기법을 적용하기 위해서는 무엇을 파악해야하는가?
결함주입 기법을 적용하기 위해서는 먼저 fault(결함), error(오류), failure(고장)에 대하여 파악해야 한다. Fault란, H/W 또는 S/W 내의 불완전성 혹은 fault를 의미한다.
참고문헌 (13)
P.Shivakumar, M.Kistler, S.W.Keckler, D.Burger, and L.Alvisi, "Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic", in International Conference on Dependable systems and Networks, pp.389-398, June 2002.
Madeira.H, Rela, M., Moreira, F,. and Silva, J., "RIFLE : A General Purpose Pin-level Fault Injector", 1st european Dependable Computing Conf, pp199-216, 1994.
Yangyang Yu, Barry W. Johnson, "Fault Injection Techniques", Kluwer Academic Publisher, pp7-39, 2003.
K. K. Goswami, R. K. Iyer. "DEPEND : A Simulation-Based environment for system Level Dependability Analysis." IEEE Transactions on Computers, vol.46 1997, pp.60-74. DOI: http://dx.doi.org/10.1109/12.559803
Christian Esposito, "Hands on the ISO 26262 Standard", pp168-174, 2010.
R. Chillarege, "Orthogonal Defect Classification", Ch. 9 of "Handbook of S/W Reliability Engineering", M. Lyu Ed., IEEE Computer Society Press, McGraw-Hill, 1995.
J. Duraes, H. Madeira, "Emulation of S/W Faults by Educated Mutations at Machine-Code Level", Proceedings of the Thirteenth IEEE International Symposium on S/W Reliability Engineering, ISSRE'02, November 2002, Annapolis MD, USA.
Ang Jin, Jian-hui Jiang, "Fault Injection Scheme for Embedded systems at Machine Code Level and Verification", 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing. DOI: http://dx.doi.org/10.1109/PRDC.2009.68
Michail Maniatakos, "Instruction-Level Impact Analysis of Low-Level Faults in a Modern Microprocessor Controller", IEEE Transactions on Computers, Vol. 60, No. 9 September 2011. DOI: http://dx.doi.org/10.1109/TC.2010.60
K.J.Heo, "A Study for N-version Programming reliability Model Using Neural Net", Kyung-nam Univ., 1996.
X.Li, S.V.Adve, P.Bose, and J,A,Rivers, "Architecture- Level Soft Error Analysis: Examining the Limits of Common Assumptions", in International Conference on Dependable systems and Networks(DSN), pp.266-275, 2007.
Shubu Mukherjee, "Architecture Design for Soft Errors", pp.146-150, Morgan Kaufmann Publishers, 2007.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.