KR101778306B1 - 시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치 - Google Patents

시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치 Download PDF

Info

Publication number
KR101778306B1
KR101778306B1 KR1020110086330A KR20110086330A KR101778306B1 KR 101778306 B1 KR101778306 B1 KR 101778306B1 KR 1020110086330 A KR1020110086330 A KR 1020110086330A KR 20110086330 A KR20110086330 A KR 20110086330A KR 101778306 B1 KR101778306 B1 KR 101778306B1
Authority
KR
South Korea
Prior art keywords
fault
memory
time
cell
memory structure
Prior art date
Application number
KR1020110086330A
Other languages
English (en)
Other versions
KR20120103402A (ko
Inventor
백상현
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Publication of KR20120103402A publication Critical patent/KR20120103402A/ko
Application granted granted Critical
Publication of KR101778306B1 publication Critical patent/KR101778306B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Abstract

메모리 폴트를 시뮬레이션하기 위한 방법 및 장치가 제공된다. 메모리 폴트 시뮬레이터로 메모리 구조, 테스트 패턴 및 폴트 모델이 입력된다. 메모리 구조는 메모리의 물리적 구성을 판단할 수 있는 정보를 포함한다. 폴트 모델은 공간적 개념 및 시간적 개념을 포함한다. 메모리 폴트 시뮬레이터는 메모리 구조에 테스트 패턴을 적용하고, 상기의 적용에 의해 메모리에 발생하는 공간적 변화 및 시간적 변화에 따라 상기의 폴트 모델이 검출되는지 여부를 판단한다.

Description

시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치{METHOD AND APPARATUS FOR MEMORY FAULT SIMULATION USING BOTH SPACE AND TIMING DOMAIN}
아래의 실시예들은 메모리 폴트 시뮬레이션을 수행하기 위한 장치 및 방법에 관한 것이다.
시공간적 개념을 사용하여 메모리 폴트 시뮬레이션을 수행하는 장치 및 방법이 개시된다.
메모리 폴트 시뮬레이터(memory fault Simulator)는 실제 메모리를 사용하지 않은 채 메모리에서 발생할 수 있는 폴트(즉, 고장)들에 대한 시뮬레이션을 수행하는 컴퓨터 지원 설계(Computer Aided Design; CAD) 소프트웨어를 의미한다.
상용으로 구현된 폴트 시뮬레이터가 아직 알려지지 않은 것에 비해, 폴트 시뮬레이터에 대한 이론은 논문 등을 통해 수 회 발표되었다. 폴트 시뮬레이터에 대한 참고 문헌으로서, "VLSI Test Principles and Architecture, by L.T Wang, C.W. Wu, X. Wen" 등이 있으며, 특히 섹션 8.3이 관련 내용을 설명한다.
기본적으로, 폴트 시뮬레이터는 메모리의 물리적(physical) 구성을 염두에 둔 채 메모리의 폴트들에 대한 시뮬레이션을 수행한다. 따라서, 1) 메모리의 물리적 구성을 폴트 시뮬레이터에 공급하는 것 및 2) 어떤 폴트들이 시뮬레이션의 입력으로서 주어지는 대상이 될 것인가가 폴트 시뮬레이션에 있어서 매우 중요하다.
추가적으로, 테스트 패턴이 폴트 시뮬레이터에 입력된다. 테스트 패턴은 메모리에 특정한 이벤트를 형성하는 것이다. 기본적으로, 테스트 패턴은 메모리에서 발생할 수 있는 다양한 읽기(read) 및 쓰기(write) 등을 포함할 수 있다. 테스트 패턴에 따라 메모리의 상태는 변화한다.
본 발명의 일 실시예는 시간적 개념을 사용하여 메모리 폴트 시뮬레이션을 수행하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시예는 셀 단위로 기술된 메모리의 물리적 구조를 사용하는 메모리 폴트 시뮬레이션 장치 및 방법을 제공할 수 있다.
본 발명의 일 측에 따르면, 메모리 구조, 테스트 패턴 및 폴트 모델을 수신하는 입력부, 상기 메모리 구조에 상기 테스트 패턴을 적용하는 테스트 패턴 적용부 및 상기 적용에 의해 상기 메모리에 발생하는 공간적 변화 및 시간적 변화에 따라 상기 폴트 모델이 검출되는지 여부를 판단하는 폴트 검출부를 포함하고, 상기 메모리 구조는 상기 메모리의 물리적 구성을 판단할 수 있는 정보를 포함하고, 상기 폴트 모델은 공간 및 시간을 사용하여 상기 폴트를 기술하는, 메모리 폴트 시뮬레이터가 제공된다.
상기 공간은 동작이 적용되는 상기 메모리의 셀을 나타낼 수 있다.
상기 시간은 상기 동작이 적용되는 시각을 나타낼 수 있다.
상기 셀은 복수 개일 수 있다.
상기 시간은 고정적 시간 및 유동적 시간을 포함할 수 있다.
상기 폴트 모델은 상기 폴트가 발생하기 위한 조건을 표현할 수 있다.
상기 조건은 상기 공간 및 상기 시간에서 발생하는 하나 이상의 이벤트들의 연속으로 표현될 수 있다.
상기 이벤트는 상기 메모리의 셀의 상태, 상기 상태의 변화를 일으키는 동작 및 상기 상태의 변화가 발생하는 시각의 조합으로 구성될 수 있다.
상기 폴트 모델은 상기 조건이 충족된 후 일정 시간이 경과하였을 때 폴트가 발생하는 것을 나타내는 폴트 주입을 표현할 수 있다.
상기 폴트 모델은 상기 폴트가 발생하고 일정 시간이 경과하면서 특정한 이벤트가 발생하였을 때 상기 폴트가 검출되는 것을 나타내는 폴트 감응을 표현할 수 있다.
상기 폴트 모델은 상기 폴트의 발생을 무효화하는 마스킹을 표현할 수 있다.
상기 메모리 구조는 셀 단위로 기술될 수 있다.
상기 메모리 구조는 계층적으로 기술될 수 있다.
상기 메모리 구조는 각 계층에서의 논리적 주소를 물리적 주소로 변환하기 위한 사상을 기술할 수 있다.
상기 메모리 구조는 각 계층에서의 메모리 블록들의 포트를 상기 계층의 상위 계층으로 연결하는 멀티플렉서의 구조를 기술할 수 있다.
상기 메모리 구조는 상기 메모리의 셀들 간의 물리적 인접성을 표현할 수 있다.
본 발명의 다른 일측에 따르면, 메모리 구조, 테스트 패턴 및 폴트 모델을 수신하는 입력 단계, 상기 메모리 구조에 상기 테스트 패턴을 적용하는 테스트 패턴 적용 단계 및 상기 적용에 의해 상기 메모리에 발생하는 공간적 변화 및 시간적 변화에 따라 상기 폴트 모델이 검출되는지 여부를 판단하는 폴트 검출 단계를 포함하고, 상기 메모리 구조는 상기 메모리의 물리적 구성을 판단할 수 있는 정보를 포함하고, 상기 폴트 모델은 공간 및 시간을 사용하여 상기 폴트를 기술하는, 메모리 폴트 시뮬레이션 방법이 제공된다.
시간적 개념을 사용하여 메모리 폴트 시뮬레이션을 수행하는 장치 및 방법이 제공된다.
셀 단위로 기술된 메모리의 물리적 구조를 사용하는 메모리 폴트 시뮬레이션 장치 및 방법이 제공된다.
도 1은 상태 전이 다이어그램을 설명한다.
도 2는 본 발명의 일 예에 따른 시간 영역을 사용함으로써 표현되는 폴트가 발생하는 회로를 설명한다.
도 3은 본 발명의 일 예에 따른 가해 셀의 워드 라인에 쓰기 신호를 반복적으로 가함에 따라 침해 셀에 폴트가 발생하는 경우를 설명한다.
도 4는 본 발명의 일 예에 따른 시간 간격을 표현하는 상태 전이 다이어그램을 설명한다.
도 5는 본 발명의 일 실시예에 따른 메모리 폴트 시뮬레이터의 구조도이다.
도 6은 본 발명의 일 실시예에 따른 메모리 폴트 시뮬레이션 방법의 흐름도이다.
도 7은 본 발명의 일 예에 따른 마스킹을 설명한다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 명세서에서, 용어 "폴트" 및 "고장"은 상호 대체될 수 있다.
도 1은 상태 전이 다이어그램을 설명한다.
일반적으로, 메모리의 폴트는 상태 전이 다이어그램(state transition diagram)에 의해 표현된다. 또한, 메모리의 폴트는 상태 전이 다이어그램의 변형된 형태에 의해 표현될 수 있다.
상태 전이 다이어그램은 셀이 어떤 이벤트(event)에 의해서 특정한 메모리 상태에서 다른 메모리 상태로 변경되는 것을 나타낸다. 여기서, 이벤트는 메모리로부터의 읽기, 메모리로의 쓰기 또는 폴트를 포함한다. 이벤트는 특정한 동작(operation)이 수행되는 것을 나타낼 수 있다.
도 1의 상태 전이 다이어그램(100)에서, 메모리 중 하나의 셀은 2 개의 메모리 상태들 중 하나의 메모리 상태를 가질 수 있다. 메모리 상태 S0(110)은 셀이 0을 저장하고 있음을 나타낸다. 이벤트 W1은 상기 셀에 1을 쓰는 것을 나타낸다. 이벤트 W1이 발생하면, 셀의 메모리 상태는 S1(120)로 변경된다. 메모리 상태 S1(120)은 셀이 1을 저장하고 있음을 나타낸다. 이벤트 W0은 상기 셀에 0을 쓰는 것을 나타낸다. 이벤트 W0이 발생하면, 셀의 메모리 상태는 S0(110)으로 변경된다.
도 2는 본 발명의 일 예에 따른 시간 영역을 사용함으로써 표현되는 폴트가 발생하는 회로를 설명한다.
도 1을 참조하여 설명된 것과 같은 상태 및 이벤트만으로 구성된 상태 전이 다이어그램의 형태는, 메모리에서 발생할 수 있는 여러 가지 형태의 폴트들을 모두 표현하기에는 불충분할 수 있다. 왜냐하면, 상기의 여러 가지 형태의 폴트들은 시간 영역(time domain)을 고려하지 않고는 기술될 수 없는 폴트들을 포함하기 때문이다.
로직(logic) 테스트(test)에 있어서, 로직 폴트 시뮬레이터에 의해 사용되는 폴트는 단지 0에서의 멈춤(stuck-at-0), 1에서의 멈춤(stuck-at-1) 및 지연(delay) 폴트 정도 만을 포함한다. 그러나, 메모리에서 발생할 수 있는 폴트의 종류는 매우 다양하다. 또한, 메모리 제품, 메모리의 제조사 및 메모리의 디자인(design)에 따라 폴트의 종류가 달라질 수 있으며, 폴트의 특이한 경우(case)가 많이 발견될 수 있다. 즉, 메모리의 폴트의 종류는 일정한 개수로 제한되지 않을 수 있다.
도 2에의 회로(200)에서, 가해 셀(aggressor cell)(210) 및 침해 셀(victim cell)(220)의 사이에 캐패시터 CCCP(230)가 있다. CCCP(230)가 폴트에 의해 필요 이상으로 커진 경우, 여러 번의 WR1 및 WR0이 가해 셀(210)에 반복적으로 적용되었을 때, 침해 셀(220)이 CCCP(230)의 폴트에 따른 영항을 받게된다. 예컨대, 침해 셀(220)의 특정한 지점 Qb1(250) 및 Q1(260)을 흐르는 전기적 신호가 플립(flip)될 수 있다.
도 3은 본 발명의 일 예에 따른 가해 셀의 워드 라인에 쓰기 신호를 반복적으로 가함에 따라 침해 셀에 폴트가 발생하는 경우를 설명한다.
도 3에서, 가해 셀(210)의 워드 라인(Word Line) WL0(310)에는 신호 WR1 및 WR0가 반복적으로 인가된다. 여기서, WR1은 셀(210)에 1을 쓰는 동작을 나타낸다. WR0은 셀(210)에 0을 쓰는 동작을 나타낸다.
침해 셀(220)의 Qb1(250) 및 Q1(260)에서의 신호가 도시되었다. 초기에, Qb1(250)의 신호는 VDD이고, Q1(260)의 신호는 GND이다. WL0(310)에 신호 WR1 및 WR0가 반복적으로 인가되면서, Qb1(250) 및 Q1(260)에서 플립(320)이 발생한다.
도 2 및 도 3을 참조하여 설명된 폴트는, 단순히 상태 및 동작(또는, 이벤트) 만을 가지고서는 기술되기 어렵다. 왜냐하면, WR1들 및 WR0들이 몇 번 반복되어야 하는가 뿐만 아니라, 연속되는 WR1들 및 WR0들이 얼마나 짧은 시간 간격 내에 가혀져야 하는지가 상기 폴트를 표현하기 위해 요구되기 때문이다. 따라서, 상기 폴트를 표현하기 위한 요소로서 WR1들 및 WR0들 간의 시간 간격이 표현될 필요가 있다.
도 4는 본 발명의 일 예에 따른 시간 간격을 표현하는 상태 전이 다이어그램을 설명한다.
도 4의 상태 전이 다이어그램(400)은 1) 상태, 2) 동작의 일련 및 3) 시간의 크기를 기술할 수 있다. 상기의 시간은 동작 및 상태 간의 상관 관계를 나타낼 수 있다. 상태 전이 다이어그램(400)은 상태, 동작의 일련 및 시간의 크기를 기술함으로써 메모리의 폴트를 제대로 표현할 수 있다.
상태 전이 다이어그램(400)과 같은 개념은 제품 테스트에서 발생하는 폴트에 대해 적용될 수 있으며, 메모리 폴트 시뮬레이터라는 특정한 도구에 대해서도 적용될 수 있다.
상태 전이 다이어그램(400)은 동작들의 일련 - 동작들 간의 시간 간격을 표현할 수 있다. 즉, 상태 전이 다이어그램(400)은 공간적 개념을 기본적으로 사용하고, 시간적 개념을 추가적으로 사용하여 폴트를 기술할 수 있다. 여기서, 공간이란 메모리의 공간적 범위를 나타낼 수 있다. 즉, 공간은 동작이 적용되는 셀(들)을 나타낼 수 있다. 시간이란, 메모리(또는, 셀)의 상태가 언제 바뀌는가를 의미할 수 있다.
예컨대, 셀의 상태가 S0(410)일 때, 특정한 이벤트가 발생함으로써 셀의 상태가 S1(420)로 변경될 수 있다. 상기의 이벤트는 "w1:t1"과 같이 표현될 수 있다. 여기서, w1(430)은 동작을 나타낸다. t1(440)은 동작 w1(430)이 발생하는 시각을 나타낸다. 따라서, 상태 전이 다이어그램(400)은 셀의 상태, 상태의 변화를 일으키는 동작 및 상기 동작이 발생하는 시각(또는, 상기 상태의 변화가 발생하는 시각)의 조합들의 일련을 표현할 수 있다.
상태 전이 다이어그램(400)이 나타내는 것과 같은 개념을 사용하여 폴트를 표현하는 것을 폴트 모델링(fault modeling)으로 명명한다. 폴트 모델링의 결과로서, 폴트 모델이 생성된다. 모델링된 폴트 모델은 폴트 라이브러리(library)의 형태로 메모리 폴트 시뮬레이터에게 제공될 수 있다. 폴트 라이브러리는 하나 이상의 폴트 모델들을 포함할 수 있다. 메모리 폴트 시뮬레이터를 통해, 폴트 모델은 여러 개의 메모리 구조에 손 쉽게 반복적으로 적용될 수 있다.
하기에서, 본 발명의 일 예에 따른 공간 개념 및 시간 개념을 포함하는 폴트 모델을 표현하는 방법을 설명한다.
폴트 모델은 공간 및 시간을 사용하여 폴트를 기술한다. 폴트 모델은 폴트가 발생하기 위한 조건을 표현한다. 상기의 조건은 하나 이상의 이벤트들의 연속으로 표현될 수 있다. 이벤트는 특정한 공간 및 특정한 시간에서 발생할 수 있다.
1) 우선, 폴트 모델이 표현하고자 하는 폴트의 공간적 범위 및 시간적 범위가 결정된다. 여기서, 메모리 내의, 공간은 동작이 적용되는 셀을 의미한다. 메모리 셀들은 복수 개일 수 있다. 복수 개의 셀들이 반드시 인접할 필요는 없다. 시간은 동작이 적용되는 시각을 나타낸다.
2) 다음으로, 폴트가 발생하기 위한 과정이 표현된다. 폴트가 발생하기 위한 과정은 셀의 상태 및 상기 상태의 변화를 일으키기 위한 메모리의 동작의 조합으로서 표현될 수 있다. 상기의 동작은, 읽기, 쓰기 및 멈춤 등을 포함할 수 있다.
3) 전술된 조합에 상태의 변화들 사이의 시간이 추가적으로 표시될 수 있다. 따라서, 이벤트는 메모리의 셀의 상태, 상태의 변화를 일으키는 동작 및 상태의 변화가 발생하는 시각의 조합으로 구성될 수 있다. 이 경우, 시간은 고정적 시간 및 유동적 시간을 포함할 수 있다. 예컨대, 고정적 시간은 1ns 또는 2ns 등과 같이 특정한 숫자로서 표현될 수 있다. 유동적 시간은 고정되지 않은 시간으로서 표현될 수 있다. 고정적 시간 및 유동적 시간 등을 사용함으로써 복합적으로 시간이 기술될 수 있다.
4) 상기의 1) 내지 3)을 폴트가 발생하기 위한 조건으로 명명한다.
5) 폴트 모델은 폴트 주입(fault injection)을 표현할 수 있다. 폴트 주입은 상기의 조건이 충족된 후 일정 시간이 경과하였을 때, 폴트 모델이 표현하고자하는 폴트가 발생하는 것을 나타낸다.
6) 폴트 모델은 폴트 감응(fault sensitization)을 표현할 수 있다. 폴트 감응은 폴트가 발생하고 일정 시간이 경과하면서 특정한 이벤트가 발생하였을 때 폴트가 검출되는 것을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 메모리 폴트 시뮬레이터의 구조도이다.
메모리 폴트 시뮬레이터(500)는 입력부(510), 테스트 패턴 적용부(520) 및 폴트 검출부(530)를 포함한다.
입력부(510)는 메모리 구조, 테스트 패턴 및 폴트 모델을 수신한다.
메모리 구조는 상기 메모리의 물리적 구성을 판단할 수 있는 정보를 포함한다.
입력부(510)는 여러 개의 폴트 라이브러리들을 수신할 수 있다.
테스트 패턴 적용부(520)는 메모리 구조에 테스트 패턴을 적용한다. 테스트 패턴이 메모리에 적용됨에 따라, 메모리의 상태는 시간에 따라 변화한다.
폴트 검출부(530)는 상기의 적용에 의해 메모리에 발생하는 공간적 변화 및 시간적 변화에 따라, 시간 개념을 포함하는 폴트 모델을 적용함으로써, 상기의 폴트 모델이 검출되는지 여부를 판단한다.
공간 상으로, 테스트 패턴 적용부(520)는 메모리의 전체에 테스트 패턴을 반복 적용할 수 있다.
시간 상으로, 폴트 검출부(530)는 테스트 벡터의 흐름에 따라 주어진 메모리 구조 및 주어진 테스트 패턴 하에서 폴트가 검출되는지 여부를 판단할 수 있다.
메모리 폴트 시뮬레이터(500)는 메모리 구조를 입력 데이터로서 수신한다. 메모리 폴트 시뮬레이터(500)는 메모리의 물리적 구조가 제공되는 것을 전제로 시뮬레이션을 수행한다.
본 발명의 일 예에 따른 메모리 구조는, 셀 단위로 기술될 수 있다. 따라서, 메모리 폴트 시뮬레이터(500)의 사용자는 메모리의 회로적 디자인을 공개하지 않은 채 메모리 폴트 시뮬레이션을 진행할 수 있다.
본 발명의 일 예에 따른 메모리 구조는 하기와 같이 기술될 수 있다.
1) 메모리 구조는, 메모리의 계층적 구조의 특성(즉, 반복되는 특성)을 고려하여, 계층적(hierarchical)으로 기술될 수 있다.
2) 메모리 구조는 각 계층에서의 논리적 주소(logic address)를 물리적 주소(physical address)로 변환하기 위한 사상을 기술할 수 있다.
3) 메모리 구조는 각 계층에서의 메모리 블록들의 포트를 상기 계층의 상위 계층으로 연결하는 멀티플렉서의 구조를 기술할 수 있다.
4) 메모리 구조는 상기 메모리의 셀들 간의 물리적 인접성을 표현할 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 6은 본 발명의 일 실시예에 따른 메모리 폴트 시뮬레이션 방법의 흐름도이다.
시뮬레이션 데이터 입력 단계(610)에서, 메모리 구조, 테스트 패턴 및 폴트 모델이 수신된다.
테스트 패턴 적용 단계(620)에서, 메모리 구조에 테스트 패턴을 적용된다.
폴트 검출 단계(630)에서, 상기의 적용에 의해 메모리에 발생하는 공간적 변화 및 시간적 변화에 따라 폴트 모델이 검출되는지 여부가 판단된다.
메모리 구조는 메모리의 물리적 구성을 판단할 수 있는 정보를 포함한다.
폴트 모델은 공간 및 시간을 사용하여 폴트를 기술한다.
앞서 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 7은 본 발명의 일 예에 따른 마스킹을 설명한다.
도 7은 폴트의 발생이 마스트(mask)되는 경우를 설명한다.
전술된 것과 같이, 메모리의 폴트가 발생하기 위한 조건은 시간 및 공간의 영역에서의 이벤트들의 일련으로서 표현될 수 있다. 도 7에서 일련의 이벤트들 E1:R0(710), E2:W1(720) 및 E3:W0(730)이 도시되었다. 상기의 조건이 충족되면, 일정한 시간이 지난 후 폴트 주입(740)이 발생하고, 다시 일정한 시간이 지난 후 폴트 감응(750)이 이루어짐으로써 폴트가 검출된다.
시간 및 공간의 측면에서 전술된 조건이 충족된 경우라도, 이벤트들의 사이(예컨대, E1:R0(710) 및 E2:W1(720)의 사이, 또는 E2:W1(720) 및 E3:W0(730)의 사이)에 다른 이벤트(712, 714 또는 722)가 발생할 수 있다. 이러한 이벤트들은 폴트의 발생(또는, 폴트의 발생을 위한 조건)을 무효화할 수 있다. 마스킹은 이러한 폴트의 발생을 무효화하는 이벤트(또는, 시간적 지연(timing delay))를 의미한다.
본 발명의 일 예에 따른 폴트 모델은 시간 및 공간의 측면에서의 마스킹을 표현할 수 있다.
이벤트(732)가 나타내는 것처럼, 마스킹은 폴트 주입(740) 이전에 발생할 수 있다. 또한, 이벤트(742)가 나타내는 것처럼, 마스킹은 폴트 감응(750) 이전에 발생할 수 있다. 즉, 이벤트들, 폴트 주입 및 폴트 감응의 사이에 발생한 특정한 이벤트 또는 시간적 지연은 폴트를 마스크할 수 있다.
상기 구성요소(510 내지 530)의 기능은 단일한 제어부(도시되지 않음)에서 수행될 수 있다. 이때, 상기 제어부는 단일(single) 또는 복수(multi) 칩(chip), 프로세서(processor) 또는 코어(core)를 나타낼 수 있다. 상기 구성요소들(510 내지 530) 각각은 상기 제어부에서 수행되는 함수(function), 라이브러리(library), 서비스(service), 프로세스(process), 쓰레드(thread) 또는 모듈(module)을 나타낼 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 메모리 폴트 시뮬레이터
510: 입력부
520: 테스트 패턴 적용부
530: 폴트 검출부

Claims (21)

  1. 메모리 구조, 테스트 패턴 및 폴트 모델을 수신하는 입력부;
    공간 상으로, 상기 메모리 구조에 상기 테스트 패턴을 적용하는 테스트 패턴 적용부; 및
    상기 적용에 의해 시간 상으로, 상기 메모리에 발생하는 공간적 변화 및 시간적 변화에 따른 테스트 벡터의 흐름에 따라 주어진 상기 메모리 구조 및 상기 테스트 패턴 하에서 상기 폴트 모델이 검출되는지 여부를 판단하는 폴트 검출부
    를 포함하고,
    상기 메모리 구조는 상기 메모리의 물리적 구성을 판단할 수 있는 정보를 포함하며, 상기 폴트 모델은 폴트 주입(fault injection) 및 폴트 감응(fault sensitization)을 표현하고, 상기 공간 및 상기 시간을 사용하여 상기 폴트를 기술하며,
    상기 시간은 고정적 시간 및 유동적 시간의 복합적 시간을 포함하는 메모리 폴트 시뮬레이터.
  2. 제1항에 있어서,
    상기 공간은 동작이 적용되는 상기 메모리의 셀을 나타내며, 상기 시간은 상기 동작이 적용되는 시각을 나타내는, 메모리 폴트 시뮬레이터.
  3. 제2항에 있어서,
    상기 셀은 복수 개인, 메모리 폴트 시뮬레이터.
  4. 삭제
  5. 제1항에 있어서,
    상기 폴트 모델은 상기 폴트가 발생하기 위한 조건을 표현하며, 상기 조건은 상기 공간 및 상기 시간에서 발생하는 하나 이상의 이벤트들의 연속으로 표현되는, 메모리 폴트 시뮬레이터.
  6. 제5항에 있어서,
    상기 이벤트는 상기 메모리의 셀의 상태, 상기 상태의 변화를 일으키는 동작 및 상기 상태의 변화가 발생하는 시각의 조합으로 구성되는, 메모리 폴트 시뮬레이터.
  7. 제5항에 있어서,
    상기 폴트 모델은 상기 조건이 충족된 후 일정 시간이 경과하였을 때 폴트가 발생하는 것을 나타내는 상기 폴트 주입을 표현하는, 메모리 폴트 시뮬레이터.
  8. 제6항에 있어서,
    상기 폴트 모델은 상기 폴트가 발생하고 일정 시간이 경과하면서 특정한 이벤트가 발생하였을 때 상기 폴트가 검출되는 것을 나타내는 상기 폴트 감응을 표현하는, 메모리 폴트 시뮬레이터.
  9. 제5항에 있어서,
    상기 폴트 모델은 상기 폴트의 발생을 무효화하는 마스킹을 표현하는, 메모리 폴트 시뮬레이터.
  10. 제1항에 있어서,
    상기 메모리 구조는 셀 단위로 기술된, 메모리 폴트 시뮬레이터.
  11. 제10항에 있어서,
    상기 메모리 구조는 계층적으로 기술된, 메모리 폴트 시뮬레이터.
  12. 제11항에 있어서,
    상기 메모리 구조는 각 계층에서의 논리적 주소를 물리적 주소로 변환하기 위한 사상을 기술하는, 메모리 폴트 시뮬레이터.
  13. 제11항에 있어서,
    상기 메모리 구조는 각 계층에서의 메모리 블록들의 포트를 상기 계층의 상위 계층으로 연결하는 멀티플렉서의 구조를 기술하는, 메모리 폴트 시뮬레이터.
  14. 제10항에 있어서,
    상기 메모리 구조는 상기 메모리의 셀들 간의 물리적 인접성을 표현하는, 메모리 폴트 시뮬레이터.
  15. 메모리 폴트 시뮬레이터의 동작 방법에 있어서,
    메모리 구조, 테스트 패턴 및 폴트 모델을 수신하는 입력 단계;
    공간 상으로, 상기 메모리 구조에 상기 테스트 패턴을 적용하는 테스트 패턴 적용 단계; 및
    상기 적용에 의해 시간 상으로, 상기 메모리에 발생하는 공간적 변화 및 시간적 변화에 따른 테스트 벡터의 흐름에 따라 주어진 상기 메모리 구조 및 상기 테스트 패턴 하에서 상기 폴트 모델이 검출되는지 여부를 판단하는 폴트 검출 단계
    를 포함하고,
    상기 메모리 구조는 상기 메모리의 물리적 구성을 판단할 수 있는 정보를 포함하며, 상기 폴트 모델은 폴트 주입(fault injection) 및 폴트 감응(fault sensitization)을 표현하고, 상기 공간 및 상기 시간을 사용하여 상기 폴트를 기술하며,
    상기 시간은 고정적 시간 및 유동적 시간의 복합적 시간을 포함하는 메모리 폴트 시뮬레이션 방법.
  16. 제15항에 있어서,
    상기 공간은 동작이 적용되는 상기 메모리의 셀을 나타내며, 상기 시간은 상기 동작이 적용되는 시각을 나타내는, 메모리 폴트 시뮬레이션 방법.
  17. 삭제
  18. 제15항에 있어서,
    상기 폴트 모델은 상기 폴트가 발생하기 위한 조건을 표현하며, 상기 조건은 특정한 공간 및 특정한 시간에서 발생하는 하나 이상의 이벤트들의 연속으로 표현되는, 메모리 폴트 시뮬레이션 방법.
  19. 제18항에 있어서,
    상기 이벤트는 상기 메모리의 셀의 상태, 상기 상태의 변화를 일으키는 동작 및 상기 상태의 변화가 발생하는 시각의 조합으로 구성되는, 메모리 폴트 시뮬레이션 방법.
  20. 제18항에 있어서,
    상기 폴트 모델은 상기 폴트의 발생을 무효화하는 마스킹을 표현하는, 메모리 폴트 시뮬레이션 방법.
  21. 제15항에 있어서,
    상기 메모리 구조는 셀 단위로 기술된, 메모리 폴트 시뮬레이션 방법.
KR1020110086330A 2011-03-11 2011-08-29 시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치 KR101778306B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110021822 2011-03-11
KR20110021822 2011-03-11

Publications (2)

Publication Number Publication Date
KR20120103402A KR20120103402A (ko) 2012-09-19
KR101778306B1 true KR101778306B1 (ko) 2017-09-13

Family

ID=47111518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110086330A KR101778306B1 (ko) 2011-03-11 2011-08-29 시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101778306B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2922211B2 (ja) 1988-02-08 1999-07-19 ピットニー、ボウズ、インコーポレーテッド フォールト・トーレラント・スマート・カード
KR100211944B1 (ko) * 1995-12-18 1999-08-02 정선종 반도체 메모리의 기능시험방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2922211B2 (ja) 1988-02-08 1999-07-19 ピットニー、ボウズ、インコーポレーテッド フォールト・トーレラント・スマート・カード
KR100211944B1 (ko) * 1995-12-18 1999-08-02 정선종 반도체 메모리의 기능시험방법

Also Published As

Publication number Publication date
KR20120103402A (ko) 2012-09-19

Similar Documents

Publication Publication Date Title
TWI503832B (zh) 用以測試多埠記憶體裝置之執行時間可編程內建自測試(bist)
US10489520B2 (en) Method and apparatus for injecting fault and analyzing fault tolerance
JP2009502037A (ja) 集積回路内でのエラー伝播に基づくエラー検出回路の挿入
Bernardeschi et al. Accurate simulation of SEUs in the configuration memory of SRAM-based FPGAs
US11036604B2 (en) Parallel fault simulator with back propagation enhancement
JP2005535965A (ja) 複製されたロジックを使用するデバッグの方法とシステム
JP2009503749A (ja) 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム
US10235485B1 (en) Partial reconfiguration debugging using hybrid models
US9355743B2 (en) Memory array test logic
US8650519B2 (en) Automated functional coverage for an integrated circuit design
KR101418162B1 (ko) Hdl 환경을 위한 글로벌 클록 핸들러 객체
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
Gong et al. Modeling dynamically reconfigurable systems for simulation-based functional verification
US7398495B1 (en) Method and apparatus for characterizing arrays using cell-based timing elements
KR101778306B1 (ko) 시공간적 개념을 사용하는 메모리 폴트 시뮬레이션 방법 및 장치
US9672094B1 (en) Interconnect circuitry fault detection
Agbo et al. Read path degradation analysis in SRAM
JP4653234B2 (ja) アレイ設計のパフォーマンスを検証するための方法、ワークステーション・コンピュータ・システム、およびコンピュータ・プログラム
TWI818068B (zh) 用於分段記憶體實體之方法及裝置
KR20220141489A (ko) 메모리 장치의 설계에서 클록 도메인 크로싱 위반을 검출 하는 컴퓨팅 장치 및 방법
Sfikas et al. Testing neighbouring cell leakage and transition induced faults in DRAMs
Cassano Analysis and test of the effects of single event upsets affecting the configuration memory of SRAM-based FPGAs
US6912701B2 (en) Method and apparatus for power supply noise modeling and test pattern development
US20220335187A1 (en) Multi-cycle test generation and source-based simulation

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant