KR101488744B1 - 빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프 - Google Patents

빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프 Download PDF

Info

Publication number
KR101488744B1
KR101488744B1 KR1020137009916A KR20137009916A KR101488744B1 KR 101488744 B1 KR101488744 B1 KR 101488744B1 KR 1020137009916 A KR1020137009916 A KR 1020137009916A KR 20137009916 A KR20137009916 A KR 20137009916A KR 101488744 B1 KR101488744 B1 KR 101488744B1
Authority
KR
South Korea
Prior art keywords
memory
debugger
memory array
bist
array
Prior art date
Application number
KR1020137009916A
Other languages
English (en)
Other versions
KR20130084664A (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 KR20130084664A publication Critical patent/KR20130084664A/ko
Application granted granted Critical
Publication of KR101488744B1 publication Critical patent/KR101488744B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Abstract

메모리 덤프를 실시하기 위한 방법 및 장치가 개시된다. 방법은 디버거로부터 BIST 래퍼를 통해 메모리 어레이로 메모리 위치를 제공하는 단계, 및 메모리 어레이 내의 메모리 위치로부터 판독된 데이터를 디버거에 의해 수신하는 단계를 포함한다. 이 방법은 덤프 인에이블 신호를 디버거로부터 전송하는 단계를 포함할 수 있고, BIST 래퍼는 덤프 인에이블 신호에 응답하여 메모리 위치를 메모리 어레이로 선택적으로 제공한다. 방법은 덤프 인에이블 신호를 BIST 래퍼 내 레지스터에 결합된 멀티플렉서로 전송하는 단계를 포함할 수 있고, 덤프 인에이블 신호는 멀티플렉서로 하여금 메모리 위치가 레지스터에 로딩되게 한다. 방법은, 메모리 위치로부터 데이터를 판독하기 전에 기록 디스에이블 신호를 메모리 어레이로 비동기식으로 전송하는 단계를 포함할 수 있다. 수신된 데이터는 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터 선택될 수 있다.

Description

빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프{DEBUGGER BASED MEMORY DUMP USING BUILT IN SELF TEST}
본 개시물은 일반적으로 집적 회로 진단들에 관한 것이며, 보다 구체적으로, 집적 회로의 디버거 인터페이스를 이용한 메모리 덤프 시스템에 관한 것이다.
진단 메모리 덤프들은, 다양한 메모리 콘텐츠들을 관찰하여 특정 타겟 사이클들에서 칩의 거동의 이해를 돕기 위해 실시될 수 있다. 그러나, 전체 메모리 콘텐츠들을 관찰하는 현재 방법들은 어렵고 시간이 걸릴 수 있고, 진단 회로 엘리먼트들을 위해 필요로 되는 실리콘 영역의 면에서 많은 비용이 들 수 있다.
일부 집적 회로들 또는 칩들에는, 칩이 그의 메모리를 테스트하도록 허가하는 메커니즘인 메모리 빌트 인 테스트(BIST; built-in self test)가 포함되어 있다. 일부 집적 회로들은 또한 디버거 인터페이스, 예를 들어, 조인트 테스트 액션 그룹(JTAG; Joint Test Action Group) 인터페이스를 포함한다. 디버깅 시스템들은, 칩 상의 다양한 컴포넌트들을 디버깅하기 위한 단일 스텝핑 및 브레이크 포인팅과 같은 동작들을 실시하기 위해 디버거 인터페이스를 통해 칩들과 통신할 수 있다.
진단 메모리 덤프들을 위해 BIST 및 디버거 인터페이스를 레버리지하고 재사용하는 것이 바람직할 것이다.
메모리 위치를 디버거로부터 BIST(built-in self test) 래퍼(wrapper)를 통해 메모리 어레이로 제공하는 단계, 및 메모리 어레이 내의 메모리 위치로부터 판독된 데이터를 디버거에 의해 수신하는 단계를 포함하는 메모리 덤프를 실시하기 위한 방법이 개시된다. 이 방법은 또한, 덤프 인에이블 신호를 디버거로부터 BIST 래퍼로 전송하는 단계를 더 포함할 수 있고, BIST 래퍼는 덤프 인에이블 신호에 응답하여 메모리 위치를 메모리 어레이로 선택적으로 제공한다. BIST 래퍼는 BIST 래퍼 내 레지스터를 이용하여 데이터 어레이와 통신할 수 있고, 이 방법은 또한, 덤프 인에이블 신호를 BIST 래퍼 내 레지스터에 결합된 멀티플렉서로 전송하는 단계를 포함할 수 있고, 덤프 인에이블 신호는 멀티플렉서로 하여금, 메모리 위치가 레지스터에 로딩되게 한다. 이 방법은 또한, 메모리 어레이 내 메모리 위치로부터 데이터를 판독하기 전에 기록 디스에이블 신호를 메모리 어레이로 비동기식으로 전송할 수 있고, 기록 디스에이블 신호는 메모리 어레이로의 기록들을 디스에이블한다. BIST 래퍼는 메모리 BIST의 일부일 수 있고, 디버거는 JTAG 디버거일 수 있다. 메모리 어레이 내 메모리 위치로부터 판독된 데이터는 디버거에 의해 액세스 가능한 판독출력 레지스터로 전송될 수 있다. 판독출력 레지스터는 또한 BIST 래퍼에 의해 액세스 가능할 수 있다. 수신된 데이터는, 디버거로부터 비트 선택 표시자를 제공함으로써 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터 선택될 수 있고, 비트 선택 표시자는, 디버거로 전달될, 메모리 위치로부터 판독된 더 큰 세트의 데이터의 비트들을 나타낸다.
BIST 래퍼와, 메모리 위치를 BIST 래퍼를 통해 메모리 어레이로 제공하고 그리고 메모리 위치에서 메모리 어레이로부터 판독된 데이터를 수신하도록 구성된 디버거 인터페이스를 포함하는 장치가 개시된다. 디버거 인터페이스는 덤프 인에이블 신호를 BIST 래퍼로 제공할 수 있고; 그리고 BIST 래퍼는 덤프 인에이블 신호에 응답하여 메모리 위치를 메모리 어레이로 선택적으로 제공할 수 있다. BIST 래퍼는 멀티플렉서 및 메모리 인터페이스 레지스터를 더 포함할 수 있다. 멀티플렉서가 메모리 위치를 메모리 인터페이스 레지스터를 통해 메모리 어레이로 제공하도록, 멀티플렉서는 메모리 인터페이스 레지스터의 출력부에 결합될 수 있고, 덤프 인에이블 신호는 멀티플렉서에 전송될 수 있다. 디버거 인터페이스는, 메모리 어레이로의 기록들을 디스에이블하기 위해 기록 디스에이블 신호를 메모리 어레이로 비동기식으로 제공할 수 있다.
이 장치는 또한, 디버거 인터페이스에 의해 액세스가능하고 그리고 메모리 어레이 내의 메모리 위치로부터 판독된 데이터를 수신하는 판독출력 레지스터를 포함할 수 있다. 판독출력 레지스터는 또한 디버거 인터페이스 및 BIST 래퍼 둘 모두에 의해 액세스가능할 수 있다. 수신된 데이터는 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터 선택될 수 있다. 디버거 인터페이스에 의해 제공된 비트 선택 표시자는, 디버거 인터페이스로 전달될, 메모리 위치로부터 판독된 더 큰 세트의 데이터의 비트들을 나타낼 수 있다. 이 장치는 음악 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터로 이루어진 그룹으로부터 선택된 디바이스에 포함될 수 있다.
메모리 디바이스를 테스트하기 위한 메모리 셀프 테스트 수단, 및 메모리 셀프 테스트 수단을 지시하기 위한 디버거 수단을 포함하는 메모리 액세스 제어기가 개시된다. 디버거 수단은 메모리 위치를 메모리 셀프 테스트 수단을 통해 메모리 디바이스의 메모리 어레이로 제공하도록 구성되고, 그리고 디버거 수단은 또한 메모리 위치에서 메모리 어레이로부터 판독된 데이터를 수신하도록 구성된다.
본 개시물의 더욱 완전한 이해를 위해서, 이제, 다음의 상세한 설명 및 첨부 도면들을 참조한다.
도 1은 디버거 기반 메모리 덤프 시스템의 예시적인 실시형태의 블록도이다.
도 2는 디버거 기반 메모리 덤프 시스템의 예시적인 실시형태의 회로도이다.
도 3은 메모리 덤프 시스템의 예시적인 흐름도이다.
도 4는 디버거 기반 메모리 덤프 시스템의 실시형태가 유익하게 사용될 수 있는 예시적인 무선 통신 시스템을 도시하는 블록도이다.
메모리 빌트-인-셀프-테스트(BIST)는, 진단들을 수행하기 위한 방법을 제공하기 위해 조인트 테스트 액션 그룹(JTAG) 인터페이스와 같은 테스트 인터페이스 또는 디버그를 통해 레버리지되고 재사용될 수 있다. 디버거 인터페이스와 메모리 BIST 사이에 몇몇 논리를 제공함으로써, 사용자는 디버거 커맨드들을 이용하여 메모리를 간접적으로 제어하고 메모리로부터 판독할 수 있다. 이것은, 사용자들로 하여금, 진단의 목적으로, 특정 메모리 위치들을 선택하게 하고 그리고 그러한 위치들에서 부분적인 또는 전체 메모리 콘텐츠들을 판독하게 한다.
도 1은 디버거 인터페이스(102), 메모리 BIST(104) 및 메모리 데이터 어레이들(106)을 포함하는 시스템(100)의 예시적인 최상위 레벨의 다이어그램을 도시한다. 디버거 인터페이스(102)는, 예를 들어, 조인트 테스트 액션 그룹(JTAG) 인터페이스 또는 다른 타입의 디버거 인터페이스일 수 있다. 디버거 인터페이스(102)는 BIST 인터페이스(108)를 통해 BIST(104)와 통신하고 BIST(104)는 메모리 인터페이스(110)를 통해 데이터 어레이들(106)과 통신한다. 메모리 제어 인터페이스(112)는, 디버거 인터페이스(102)에서 디버거 커맨드들을 이용하여 BIST(104)를 통해 메모리 어레이들(106)을 간접적으로 제어하고 메모리 어레이들(106)로부터 판독하는 데에 사용될 수 있다. 클락 제어(114)는 또한, 진단 단계(phase) 동안 메모리 손상(corruption)을 방지하기 위해서, 클락 정지 신호를 BIST(104)에 그리고 메모리 어레이들(106)에 전송하여 메모리에 대한 어떠한 기록들도 디스에이블하도록 디버거 인터페이스(102)에 의해 제어될 수 있다.
도 2는 디버거 인터페이스(202), BIST 래퍼(204) 및 복수의 데이터 어레이들(206)을 포함하는 예시적인 시스템(200)의 보다 구체적인 다이어그램을 도시한다. 디버거 인터페이스(202)는, 기록, 판독, 어드레스, 데이터 및 어레이 선택 필드들을 포함하는 디버거 데이터 레지스터(210)를 포함한다. 어레이 필드는 복수의 데이터 어레이들(206) 중 선택된 데이터 어레이를 식별하고 어드레스 비트들은 선택된 메모리 어레이(206) 내의 메모리 위치를 식별한다. 판독 및 기록 필드들은 선택된 메모리 위치에서 희망되는 메모리 동작의 타입을 식별한다. 데이터 필드는, 선택된 메모리 위치에 기록될 또는 선택된 메모리 위치로부터 판독되는 데이터를 보유한다. 디버거 데이터 레지스터(210)의 2개의 인스턴스들이 도 2에 도시는데, 하나는 업데이트 단계 동안 레지스터 필드들이 BIST 래퍼(204) 및 데이터 어레이들(206)에 통신되고 있는 경우이고, 하나는 캡쳐 단계 동안 데이터 어레이들(206)로부터의 출력이 디버거 데이터 레지스터(210)에 전송되고 있는 경우이다. 디버거 데이터 레지스터(210)의 이러한 2개의 단계들이 아래의 설명에서 식별된다.
디버거 인터페이스(202)는 메모리 기록 디스에이블 신호(240) 및 메모리 덤프 인에이블 신호(242)를 제어한다. 메모리 기록 디스에이블 신호(240)는, 메모리 덤프 동안 복수의 데이터 어레이들(206)로의 기록들을 디스에이블하기 위해 사용된다. 메모리 덤프 인에이블 신호(242)는 디버거 인터페이스(202)를 이용하여 메모리 덤프를 인에이블하기 위해 사용된다. 이러한 신호들의 사용이 아래에 더욱 상세하게 설명될 것이다.
BIST 래퍼(204)는 BIST 제어기(208) 및 진단 제어부(212)를 포함한다. 진단 제어부(212)는 멀티플렉서들(214) 및 메모리 인터페이스 레지스터들(216)을 포함한다. 멀티플렉서들(214)은, 데이터 어레이들(206)과 통신하는 메모리 인터페이스 레지스터들(216)의 로딩을 위해 디버거 인터페이스(202)의 디버거 데이터 레지스터(210)가 선택될지 또는 BIST 제어기(208)가 선택될지 여부를 제어한다.
메모리 덤프는, 클락 정지 명령 또는 커맨드를 이용하여 디버거 인터페이스(202)에 의해 활성화될 수 있다. 메모리 덤프가 클락 정지 명령에서 디버거에 의해 활성화되는 경우, 프로그램이 클락 정지 위치에 도달할 때 클락이 정지되고; 메모리 기록 디스에이블 신호(204)가 복수의 메모리 어레이들(206) 각각의 기록 제어에 비동기식으로 전송되고; 그리고 덤프 인에이블 신호(242)가 활성화된다. 기록 디스에이블은, 데이터 어레이들(206)의 각각의 기록 제어 입력부에서의 AND 게이트(220)로의 반전 입력부로 도시된다. 이와 같이, 기록 디스에이블 신호(240)가 활성화되는 경우, 반전 신호는, 기록 제어 입력부들 각각에서의 AND 게이트들(220)로 하여금 인입하는 신호들을 차단하게 하여 데이터 어레이들(206)에 대한 어떠한 기록도 방지하게 한다. 진단 단계 동안 클락이 정지되기 때문에 기록 디스에이블 신호(240)가 비동기적으로 전송된다. 디버거가 통상적으로 BIST 보다 더 낮은 빈도(frequency)로 실행하고 있기 때문에, 기록 디스에이블 신호(240)는 메모리 어레이들(206)의 기록 제어 입력부들에 직접적으로 전송될 수 있다. 비동기식 기록 디스에이블은, 진단 단계 동안 메모리가 손상되는 것을 방지하고 메모리가 영향받지 않은 채로 시스템이 재시작되게 할 수 있다.
덤프 인에이블 신호(242)가 BIST 래퍼(204)의 진단 제어부(212)의 멀티플렉서들(214) 각각의 선택 입력부로 전송된다. 덤프 인에이블 신호(242)는 멀티플렉서들(214)로 하여금, 디버거 데이터 레지스터(210)(업데이트 단계)로부터의 필드들을 메모리 인터페이스 레지스터들(216)로 로딩하게 한다. 디버거 데이터 레지스터(210)(업데이트 단계)는 캡쳐될 데이터 어레이들(206) 내의 위치들을 식별한다. 메모리 인터페이스 레지스터들(216)의 콘텐츠들이 데이터 어레이들(206)로 전송된다. BIST 래퍼(204)의 진단 제어부(212)를 통해 디버거 데이터 레지스터(210)에 의해 지정된 메모리 위치의 콘텐츠들이 데이터 어레이들(206)로부터 판독되고 그리고 비교기 라인들(222)을 통해 BIST 제어기(208)로 그리고/또는 디버거 인터페이스(202)로 출력되며, 여기서 상기 메모리 위치의 콘텐츠들이 체크될 수 있다. 도 2는, BIST 제어기(208)에 의해 액세스가능하고 그리고 BIST 출력 라인들(226)을 통해 디버거 인터페이스(202)에 의해 또한 액세스가능한 BIST 판독출력 레지스터(224)에 결합되는 데이터 어레이들(206)로부터의 데이터의 출력을 도시한다. 디버거 인터페이스(202)의 캡쳐 AND 게이트(228)로의 캡쳐 신호가, 디버거가 선택된 메모리 위치의 콘텐츠들을 수신할 준비가 되었음을 나타내는 경우, BIST 출력 라인들(226) 상의 신호가 디버거 데이터 레지스터(210)의 데이터 필드로 전송된다(캡쳐 단계).
시스템이 진단 상태에 있는 경우, 데이터 어레이들(206) 내 다수의 메모리 위치들이, BIST 제어기(208)로의 비교기 라인들(222)을 통해 그리고 디버거 인터페이스(202)로의 출력 라인들(226)에 걸쳐 데이터를 판독출력하기 위해, 디버거 데이터 레지스터(210)를 이용하여 BIST 멀티플렉서들(214)을 통해 체크될 수 있다. 진단 단계 동안, 데이터 어레이들(206)의 기록 제어 입력부들 각각에서 AND 게이트들(220)로의 메모리 기록 디스에이블 신호는 메모리 어레이들(206)이 손상되는 것을 방지한다.
덤프 인에이블 신호(242)는, 진단 단계가 완료되었음을 나타내기 위해 비활성화될 수 있다. 덤프 인에이블 신호(242)가 비활성화되는 경우, 메모리 기록 디스에이블 신호(240)가 비활성화되고 클락이 재시작된다. 메모리 기록 디스에이블 신호(240)가 비활성화되는 경우, AND 게이트들(220)은 데이터 어레이들(206)에 기록하는 것을 인에이블하고 시스템(200)은 동작을 재개시할 수 있다. 덤프 인에이블 신호(242)가 비활성화되는 경우, 멀티플렉서들(214)로의 선택 신호는 메모리 인터페이스 레지스터들(216)이 BIST 제어기(208)로부터 로딩되게 한다.
도 3은 디버거 인터페이스를 이용한 메모리 덤프를 위한 예시적인 방법을 도시한다. 블록 302에서, 프로그램 클락 정지 위치가 디버거에서 식별된다. 복수의 정지 위치들이 식별될 수 있고 클락이 지정된 정지 위치에 도달할 경우 복수의 정지 위치들 각각이 서비스를 받는다.
블록 304에서, 디버거는, 프로그램 클락이 정지 위치에 도달하였는지 여부를 체크한다. 프로그램 클락이 정지 위치에 있지 않은 동안, 프로그램이 계속해서 실행된다. 프로그램 클락이 정지 위치에 도달하는 경우, 제어가 블록 306으로 옮겨간다.
블록 306에서, 프로그램 클락이 정지 위치에 정지되고, 메모리 기록 디스에이블 신호(240)가 활성화되고, 메모리 덤프 인에이블 신호(242)가 활성화된다. 메모리 기록 디스에이블 신호(240)가 데이터 어레이들(206)로 비동기식으로 전송되어 메모리 덤프 동안 데이터 어레이들(206)로의 기록들을 방지한다. 덤프 인에이블 신호(242)는, 메모리 인터페이스 레지스터들(216)의 로딩을 위해 BIST 래퍼(204)의 진단 제어부(212)의 멀티플렉서들(214)로 하여금 디버거 데이터 레지스터(210)를 선택하게 한다.
블록 308에서, 데이터 어레이들(206) 내의 선택된 메모리 위치들이 디버거 데이터 레지스터(210)를 이용하여 캡쳐된다. 데이터 어레이들(206)의 메모리 위치 및 판독 커맨드가 디버거 데이터 레지스터(210)에 로딩된다. 메모리 위치는, 디버거 데이터 레지스터(210)로부터 멀티플렉서들(214)을 통해 BIST 래퍼(204) 내의 메모리 인터페이스 레지스터들(216)로 전달된다. 디버거 데이터 레지스터(210)에 의해 지정된 메모리 위치의 콘텐츠들이 메모리 어레이들(206)로부터 판독되고 디버거 인터페이스(202)로 전송된다. BIST 제어기(208) 및 디버거 인터페이스(202) 둘 모두에 의해 액세스 가능한 판독출력 레지스터, 이를 테면, BIST 판독출력 레지스터(224)가 사용될 수 있다. 선택된 메모리 위치의 콘텐츠들은 디버거 데이터 레지스터(210)의 데이터 필드에서 캡쳐될 수 있다.
블록 310에서, 메모리 덤프가 완료되지 않은 경우, 데이터 어레이들(206) 내 추가 데이터 위치들이 블록 308의 절차를 이용하여 체크될 수 있다. 블록 310에서, 메모리 덤프가 완료되는 경우, 제어가 블록 312로 옮겨간다.
블록 312에서, 메모리 덤프 인에이블 신호가 비활성화되고, 기록 디스에이블 신호가 비활성화되고 프로그램 클락이 재개시된다. 덤프 인에이블 신호(242)를 비활성화하는 것은 BIST 래퍼(204)의 진단 제어부(212)의 멀티플렉서들(214)로 하여금 BIST 제어기(208)로부터 메모리 인터페이스 레지스터들(216)이 로딩되게 한다. 메모리 기록 디스에이블 신호(240)를 비활성화하는 것은 데이터가 데이터 어레이들(206)로 기록되게 할 수 있다. 블록 312로부터, 제어가 블록 304로 리턴되어 프로그램 클록이 다른 정지 위치에 도달하는 것을 대기할 수 있다.
도 2에 도시된 다양한 데이터 저장 엘리먼트들 및 버스들의 폭이 동일하지 않는 경우 비트/바이트 선택 엘리먼트들이 추가될 수 있다. 예를 들어, 디버거 데이터 레지스터(210) 내 데이터 필드가 BIST 판독출력 레지스터(224)만큼 넓지 않은 경우, BIST 판독출력 레지스터(224) 내 데이터의 어느 비트들이 BIST 판독출력 라인들(226)을 통해 디버거 인터페이스(202)로 전달될지를 나타내기 위해 선택 필드가 디버거 데이터 레지스터(210)에 추가될 수 있고; 어느 비트들/바이트들이 캡쳐 AND 게이트(228)로 전달되는지를 선택하기 위해 디버거 데이터 레지스터(210)의 선택 필드의 콘텐츠들을 사용하는 멀티플렉서가 출력 라인들(226) 상에 추가될 수 있다. 또한, 예를 들어, 데이터 어레이들(206) 내 메모리 위치들이 BIST 판독출력 레지스터(224)보다 더 넓은 경우, 데이터 어레이들(206) 내의 선택된 위치로부터 판독출력된 데이터의 어느 비트들이 비교기 라인들(222)을 통해 BIST 판독출력 레지스터(224)로 전달될지를 나타내기 위해 선택 필드가 추가될 수 있다; 그리고 어느 비트들/바이트들이 BIST 판독출력 레지스터(224)로 전달될지를 선택하기 위해 선택 필드의 콘텐츠들을 사용하는 멀티플렉서가 비교기 라인들(222) 상에 추가될 수 있다.
도 4는 디버거 기반 메모리 덤프 시스템의 실시형태가 유리하게 사용될 수 있는 예시적인 무선 통신 시스템(400)을 도시한다. 예시의 목적으로, 도 4는 3개의 원격 유닛들(420, 430, 및 450) 및 2개의 기지국들(440)을 도시한다. 통상적인 무선 통신 시스템들은 더욱 많은 원격 유닛들 및 기지국들을 가질 수 있다는 것을 인지해야 한다. 원격 유닛들(420, 430, 및 450) 중 임의의 것은 본원에 개시된 바와 같은 디버거 기반 메모리 덤프 시스템을 포함할 수 있다. 도 4는 기지국들(440)로부터 원격 유닛들(420, 430 및 450)로의 순방향 링크 신호들(480) 및 원격 유닛들(420, 430 및 450)로부터 기지국들(440)로의 역방향 링크 신호들(490)을 도시한다.
도 4에서, 원격 유닛(420)은 모바일 전화로 도시되고, 원격 유닛(430)은 휴대용 컴퓨터로 도시되고, 원격 유닛(450)은 무선 로컬 루프 시스템 내 고정 위치 원격 유닛으로 도시된다. 예를 들어, 원격 유닛들은 휴대 전화들, 핸드-헬드 개인 통신 시스템(PCS) 유닛들, 개인 데이터 보조기들과 같은 휴대용 데이터 유닛들, 또는 계측(meter reading) 장비와 같은 고정 위치 데이터 유닛들일 수 있다. 도 4는 본원에 개시된 바와 같은 디버거 기반 메모리 덤프 시스템을 포함할 수 있는 특정 예시적인 원격 유닛들을 도시하지만, 본원에 개시된 바와 같은 아키텍쳐들 및 방법들은 이러한 예시적인 도시된 유닛들로 제한되지 않는다. 실시예들은 디버거 기반 메모리 덤프 시스템을 희망하는 임의의 전자 디바이스에서 적합하게 사용될 수 있다.
본 발명의 원리들을 포함하는 예시적인 실시형태들이 위에서 개시되었지만, 본 발명은 개시된 실시형태들로 제한되지 않는다. 대신에, 본 출원은 본원의 일반적인 원리들을 이용하여 본 발명의 임의의 변화들, 용도들, 또는 적응들(adaptations)을 커버하도록 의도된다. 또한, 본 출원은, 본 발명이 관련되고 첨부된 청구항들의 범위들 내에 있는 본 기술에서 공지된 또는 관례적인 실행의 범위 안에 있기 때문에 본 개시물로부터의 이러한 일탈을 커버하도록 의도된다.

Claims (25)

  1. 메모리 덤프를 실시하기 위한 방법으로서,
    어레이 필드에 저장된 값에 기초하여 복수의 어레이들로부터 메모리 어레이를 선택하는 단계;
    디버거로부터 BIST(built-in self test) 래퍼를 통해 상기 메모리 어레이로 메모리 위치를 제공하는 단계;
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 수신하는 단계;
    덤프 인에이블 신호를 상기 디버거로부터 상기 BIST 래퍼로 전송하는 단계 ―상기 BIST 래퍼는 상기 덤프 인에이블 신호에 응답하여 상기 메모리 위치를 상기 메모리 어레이에 선택적으로 제공하고, 그리고 상기 BIST 래퍼 내의 레지스터를 이용하여 데이터 어레이와 통신함―;
    상기 덤프 인에이블 신호를 상기 BIST 래퍼 내의 상기 레지스터에 결합된 멀티플렉서에 전송하는 단계 ―상기 덤프 인에이블 신호는 상기 멀티플렉서로 하여금 상기 메모리 위치가 상기 레지스터에 로딩되게 함―; 및
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 액세스 가능한 판독출력 레지스터로 전송하는 단계 ―상기 판독출력 레지스터는 상기 디버거 및 상기 BIST 래퍼 둘 모두에 의해 액세스가능함―
    를 포함하는, 메모리 덤프를 실시하기 위한 방법.
  2. 삭제
  3. 삭제
  4. 방법으로서,
    어레이 필드에 저장된 값에 기초하여 복수의 어레이들로부터 메모리 어레이를 선택하는 단계;
    메모리 위치를 디버거로부터 BIST 래퍼를 통해 상기 메모리 어레이로 제공하는 단계;
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 수신하는 단계;
    덤프 인에이블 신호를 상기 디버거로부터 상기 BIST 래퍼로 전송하는 단계 ―상기 BIST 래퍼는 상기 덤프 인에이블 신호에 응답하여 상기 메모리 위치를 상기 메모리 어레이에 선택적으로 제공함―; 및
    상기 메모리 어레이 내의 상기 메모리 위치로부터 상기 데이터를 판독하기 전에 기록 디스에이블 신호를 상기 메모리 어레이로 비동기식으로 전송하는 단계 ―상기 기록 디스에이블 신호는 상기 메모리 어레이로의 기록들을 디스에이블함― 를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 BIST 래퍼는 메모리 BIST 내에 포함되는, 메모리 덤프를 실시하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 디버거는 JTAG(Joint Test Action Group) 디버거인, 메모리 덤프를 실시하기 위한 방법.
  7. 방법으로서,
    어레이 필드에 저장된 값에 기초하여 복수의 어레이들로부터 메모리 어레이를 선택하는 단계;
    메모리 위치를 디버거로부터 BIST 래퍼를 통해 상기 메모리 어레이로 제공하는 단계;
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 수신하는 단계; 및
    상기 메모리 어레이 내의 상기 메모리 위치로부터 상기 데이터를 판독하기 전에 상기 메모리 어레이로의 기록들을 비동기식으로 디스에이블하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 데이터는 상기 BIST 래퍼로부터 상기 디버거에 의해 수신되는, 메모리 덤프를 실시하기 위한 방법.
  9. 삭제
  10. 삭제
  11. 방법으로서,
    어레이 필드에 저장된 값에 기초하여 복수의 어레이들로부터 메모리 어레이를 선택하는 단계;
    메모리 위치를 디버거로부터 BIST 래퍼를 통해 상기 메모리 어레이로 제공하는 단계;
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 수신하는 단계; 및
    상기 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터, 수신된 데이터를 선택하는 단계를 포함하는, 방법.
  12. 방법으로서,
    어레이 필드에 저장된 값에 기초하여 복수의 어레이들로부터 메모리 어레이를 선택하는 단계;
    메모리 위치를 디버거로부터 BIST 래퍼를 통해 상기 메모리 어레이로 제공하는 단계;
    상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 데이터를 상기 디버거에 의해 수신하는 단계;
    상기 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터, 수신된 데이터를 선택하는 단계; 및
    상기 디버거로부터 비트 선택 표시자를 제공하는 단계 ―상기 비트 선택 표시자는, 상기 디버거로 전달될, 상기 메모리 위치로부터 판독된 상기 더 큰 세트의 데이터의 비트들을 나타냄―를 포함하는, 방법.
  13. 장치로서,
    BIST 래퍼; 및
    복수의 어레이들로부터 메모리 어레이를 선택하는 어레이 필드 및 어드레스 필드를 갖는 테스트-데이터-인(test-data-in) 레지스터를 포함하는 디버거 인터페이스 ―상기 디버거 인터페이스는 메모리 위치를 상기 BIST 래퍼를 통해 상기 메모리 어레이로 제공하고 그리고 상기 메모리 위치에서 상기 메모리 어레이로부터 판독된 데이터를 수신함―
    상기 디버거 인터페이스에 의해 액세스가능한 판독출력 레지스터 ―상기 판독출력 레지스터는 상기 메모리 어레이 내의 상기 메모리 위치로부터 판독된 상기 데이터를 수신하고, 상기 판독출력 레지스터는 상기 디버거 인터페이스 및 상기 BIST 래퍼 둘 모두에 의해 액세스 가능함―
    를 포함하고,
    상기 디버거 인터페이스는 덤프 인에이블 신호를 상기 BIST 래퍼로 제공하고, 그리고 상기 BIST 래퍼는 상기 덤프 인에이블 신호에 응답하여 상기 메모리 어레이에 상기 메모리 위치를 선택적으로 제공하고;
    상기 BIST 래퍼는 멀티플렉서 및 메모리 인터페이스 레지스터를 포함하고, 상기 멀티플렉서는 상기 메모리 인터페이스 레지스터의 출력부에 결합되고, 상기 덤프 인에이블 신호는 상기 멀티플렉서로 전송되고, 그리고 상기 멀티플렉서는 상기 메모리 위치를 상기 메모리 인터페이스 레지스터를 통해 상기 메모리 어레이로 제공하는, 장치.
  14. 삭제
  15. 삭제
  16. 장치로서,
    BIST 래퍼; 및
    복수의 어레이들로부터 메모리 어레이를 선택하는 어레이 필드 및 어드레스 필드를 갖는 테스트-데이터-인 레지스터를 포함하는 디버거 인터페이스 ―상기 디버거 인터페이스는 메모리 위치를 상기 BIST 래퍼를 통해 상기 메모리 어레이로 제공하고 그리고 상기 메모리 위치에서 상기 메모리 어레이로부터 판독된 데이터를 수신함 ―
    를 포함하고,
    상기 디버거 인터페이스는 덤프 인에이블 신호를 상기 BIST 래퍼로 제공하고, 그리고 상기 BIST 래퍼는 상기 덤프 인에이블 신호에 응답하여 상기 메모리 어레이에 상기 메모리 위치를 선택적으로 제공하고;
    상기 디버거 인터페이스는 상기 메모리 어레이로의 기록들을 디스에이블하기 위해 기록 디스에이블 신호를 상기 메모리 어레이로 비동기식으로 제공하는, 장치.
  17. 장치로서,
    BIST 래퍼; 및
    복수의 어레이들로부터 메모리 어레이를 선택하는 어레이 필드 및 어드레스 필드를 갖는 테스트-데이터-인 레지스터를 포함하는 디버거 인터페이스 ―상기 디버거 인터페이스는 메모리 위치를 상기 BIST 래퍼를 통해 상기 메모리 어레이로 제공하고 그리고 상기 메모리 위치에서 상기 메모리 어레이로부터 판독된 데이터를 수신함 ―
    를 포함하고,
    상기 디버거 인터페이스는 상기 메모리 어레이로의 기록들을 디스에이블하기 위해 기록 디스에이블 신호를 상기 메모리 어레이로 비동기식으로 제공하는, 장치.
  18. 제 13 항에 있어서,
    상기 데이터는 상기 BIST 래퍼로부터 상기 디버거 인터페이스에 의해 수신되는, 장치.
  19. 삭제
  20. 삭제
  21. 장치로서,
    BIST 래퍼; 및
    복수의 어레이들로부터 메모리 어레이를 선택하는 어레이 필드 및 어드레스 필드를 갖는 테스트-데이터-인 레지스터를 포함하는 디버거 인터페이스 ―상기 디버거 인터페이스는 메모리 위치를 상기 BIST 래퍼를 통해 상기 메모리 어레이로 제공하고 그리고 상기 메모리 위치에서 상기 메모리 어레이로부터 판독된 데이터를 수신함―
    를 포함하고,
    상기 수신된 데이터는 상기 메모리 위치로부터 판독된 더 큰 세트의 데이터로부터 선택되는, 장치.
  22. 제 21 항에 있어서,
    상기 디버거 인터페이스에 의해 제공된 비트 선택 표시자를 더 포함하고,
    상기 비트 선택 표시자는, 상기 디버거 인터페이스로 전달될, 상기 메모리 위치로부터 판독된 더 큰 세트의 데이터의 비트들을 나타내는, 장치.
  23. 제 13 항에 있어서,
    음악 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터로 이루어진 그룹으로부터 선택된 디바이스에 포함되는, 장치.
  24. 삭제
  25. 장치로서,
    BIST를 래핑하기 위한 수단; 및
    복수의 어레이들로부터 메모리 어레이를 선택하는 어레이 필드 및 어드레스 필드를 갖는 테스트-데이터-인 레지스터를 포함하는 인터페이싱하기 위한 수단 ―상기 인터페이싱하기 위한 수단은 메모리 위치를 상기 BIST를 래핑하기 위한 수단을 통해 상기 메모리 어레이로 제공하고 그리고 상기 메모리 위치에서 상기 메모리 어레이로부터 판독된 데이터를 수신함―
    을 포함하고,
    상기 인터페이싱하기 위한 수단은 상기 메모리 어레이로의 기록들을 디스에이블하기 위해 기록 디스에이블 신호를 상기 메모리 어레이로 비동기식으로 제공하는, 장치.
KR1020137009916A 2010-09-21 2011-09-21 빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프 KR101488744B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/886,629 US8527825B2 (en) 2010-09-21 2010-09-21 Debugger based memory dump using built in self test
US12/886,629 2010-09-21
PCT/US2011/052632 WO2012040378A1 (en) 2010-09-21 2011-09-21 Debugger based memory dump using built in self test

Publications (2)

Publication Number Publication Date
KR20130084664A KR20130084664A (ko) 2013-07-25
KR101488744B1 true KR101488744B1 (ko) 2015-02-03

Family

ID=44736084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137009916A KR101488744B1 (ko) 2010-09-21 2011-09-21 빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프

Country Status (6)

Country Link
US (1) US8527825B2 (ko)
EP (1) EP2619672A1 (ko)
JP (1) JP5651784B2 (ko)
KR (1) KR101488744B1 (ko)
CN (1) CN103154906B (ko)
WO (1) WO2012040378A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102969027A (zh) * 2012-11-28 2013-03-13 中国人民解放军国防科学技术大学 基于存储器内建自测试的片上存储器调试方法及装置
US9122791B2 (en) 2013-03-05 2015-09-01 International Business Machines Corporation Identifying a storage location for a storage address requested during debugging
FR3015228B1 (fr) 2013-12-19 2018-03-09 Commissariat A L'energie Atomique Et Aux Energies Alternatives Article a appliquer sur la peau, les muqueuses ou une plaie
JP6295113B2 (ja) * 2014-03-17 2018-03-14 ルネサスエレクトロニクス株式会社 自己診断装置及び自己診断方法
JP6438353B2 (ja) * 2015-05-27 2018-12-12 ルネサスエレクトロニクス株式会社 半導体装置及び診断テスト方法
CN106653091B (zh) * 2015-10-30 2020-10-09 龙芯中科技术有限公司 芯片抗辐射能力的评测方法、装置及芯片
US9881693B2 (en) * 2016-02-16 2018-01-30 Micron Technology, Inc. Selectors on interface die for memory device
US10311963B2 (en) * 2017-04-19 2019-06-04 Arm Limited Data processing
CN109254883B (zh) * 2017-07-14 2021-09-24 深圳市中兴微电子技术有限公司 一种片上存储器的调试装置及方法
KR20200093363A (ko) * 2019-01-28 2020-08-05 에스케이하이닉스 주식회사 메모리 시스템
TWI783898B (zh) * 2022-04-19 2022-11-11 瑞昱半導體股份有限公司 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法
WO2024063767A1 (en) * 2022-09-21 2024-03-28 Google Llc Cache scanning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263373B1 (en) 1998-12-04 2001-07-17 International Business Machines Corporation Data processing system and method for remotely controlling execution of a processor utilizing a test access port
US20020065646A1 (en) 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
US20050246602A1 (en) 2004-04-08 2005-11-03 Stmicroelectronics Pvt. Ltd. On-chip and at-speed tester for testing and characterization of different types of memories

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963565A (en) * 1996-10-31 1999-10-05 Altera Corporation Apparatus and method for external supervision of electronic test equipment operating parameters
US6044481A (en) * 1997-05-09 2000-03-28 Artisan Components, Inc. Programmable universal test interface for testing memories with different test methodologies
US6321320B1 (en) 1998-10-30 2001-11-20 Hewlett-Packard Company Flexible and programmable BIST engine for on-chip memory array testing and characterization
JP3544203B2 (ja) * 2002-08-30 2004-07-21 沖電気工業株式会社 テスト回路、そのテスト回路を内蔵した半導体集積回路装置、及びそのテスト方法
US7248070B1 (en) 2005-02-16 2007-07-24 Altera Corporation Method and system for using boundary scan in a programmable logic device
JP2007263866A (ja) 2006-03-29 2007-10-11 Nec Electronics Corp 半導体集積回路及びそのテスト方法
JP5086577B2 (ja) 2006-07-28 2012-11-28 株式会社日立超エル・エス・アイ・システムズ 半導体装置
US20090199163A1 (en) * 2008-01-31 2009-08-06 International Business Machines Corporation Debugger assistance for locating values at runtime
US8074132B2 (en) 2008-10-28 2011-12-06 Broadcom Corporation Protecting data on integrated circuit
US8086912B2 (en) * 2009-04-02 2011-12-27 International Business Machines Corporation Monitoring and root cause analysis of temporary process wait situations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263373B1 (en) 1998-12-04 2001-07-17 International Business Machines Corporation Data processing system and method for remotely controlling execution of a processor utilizing a test access port
US20020065646A1 (en) 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
US20050246602A1 (en) 2004-04-08 2005-11-03 Stmicroelectronics Pvt. Ltd. On-chip and at-speed tester for testing and characterization of different types of memories

Also Published As

Publication number Publication date
US8527825B2 (en) 2013-09-03
WO2012040378A1 (en) 2012-03-29
JP5651784B2 (ja) 2015-01-14
KR20130084664A (ko) 2013-07-25
JP2013537345A (ja) 2013-09-30
CN103154906A (zh) 2013-06-12
US20120072791A1 (en) 2012-03-22
CN103154906B (zh) 2016-01-06
EP2619672A1 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
KR101488744B1 (ko) 빌트 인 셀프 테스트를 이용한 디버거 기반 메모리 덤프
US7707473B2 (en) Integrated testing apparatus, systems, and methods
US20120166901A1 (en) Integrated circuit for testing smart card and driving method of the circuit
CN100585554C (zh) 经由私有操作访问控制寄存器的系统和方法
US7203872B2 (en) Cache based physical layer self test
US8724483B2 (en) Loopback configuration for bi-directional interfaces
US10677844B2 (en) Semiconductor device and test method for semiconductor device
US20240095366A1 (en) Secure boot apparatus and method
US20240071424A1 (en) Memory component for a system-on-chip device
US7394272B2 (en) Built-in self test for system in package
US11170867B2 (en) Test system
US6567325B1 (en) Apparatus and method for system access to tap controlled BIST of random access memory
KR20020082799A (ko) 동적 번인 테스트 기능을 갖는 단일칩 마이크로컴퓨터 및이를 위한 동적 번인 테스트 방법
US20090157761A1 (en) Maintaining data coherency in multi-clock systems
US20030237036A1 (en) Semiconductor integrated circuit with built-in self-test function and system including the same
US10474515B2 (en) Debugging translation block and debugging architecture
JP4009461B2 (ja) 半導体装置
US11715544B2 (en) System and method for low power memory test
US7702956B2 (en) Circuit for transferring test flag signals among multiple processors, the test flag signals being used by a test controller to generate test signals
US11249134B1 (en) Power-collapsible boundary scan
US8732443B2 (en) Program processing device and program processing method which is able to control writing into an internal memory
KR100557918B1 (ko) 조인트 테스트 액세스 그룹을 이용한 오류수정장치
US20060080583A1 (en) Store scan data in trace arrays for on-board software access
KR20050062837A (ko) 어드레스 핀을 테스트 모드 설정 입력 핀으로 활용하는집적회로

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee