KR20210103069A - 메모리 테스트 장치 및 이의 동작 방법 - Google Patents

메모리 테스트 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20210103069A
KR20210103069A KR1020200017360A KR20200017360A KR20210103069A KR 20210103069 A KR20210103069 A KR 20210103069A KR 1020200017360 A KR1020200017360 A KR 1020200017360A KR 20200017360 A KR20200017360 A KR 20200017360A KR 20210103069 A KR20210103069 A KR 20210103069A
Authority
KR
South Korea
Prior art keywords
memory
module
communication
request
information
Prior art date
Application number
KR1020200017360A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020200017360A priority Critical patent/KR20210103069A/ko
Publication of KR20210103069A publication Critical patent/KR20210103069A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 발명에서의 메모리 테스트 장치는, 테스트 할 메모리를 가리키는 설정 신호를 출력하도록 구성된 사용자 인터페이스, 설정 신호를 기반으로 메모리에서 수행될 제1 동작에 대응하는 제1 정보를 계산하고, 계산된 제1 정보를 포함하는 제1 요청 신호를 출력하도록 구성된 프로세서, 메모리가 제1 동작을 수행하도록 제1 요청 신호를 기반으로 메모리와 제1 통신을 수행하도록 구성된 요청 모듈, 및 메모리 및 요청 모듈 사이의 제1 통신을 기록하도록 구성된 벡터를 포함한다.

Description

메모리 테스트 장치 및 이의 동작 방법{MEMORY TEST DEVICE AND OPERATION METHOD THEREOF}
본 발명은 테스트 장치 및 이의 동작 방법에 관한 것으로, 좀 더 상세하게는 반도체 메모리 장치의 기능을 테스트하는 메모리 테스트 장치 및 이의 동작 방법에 관한 것이다.
반도체 메모리 장치는 데이터를 저장하는 장치이다. 최근, 전자 기기 및 반도체 메모리 장치가 소형화되고 고집적화 됨에 따라, 반도체 메모리 장치의 설계가 다양해지고 있으며, 설계된 반도체 메모리 장치 또는 제조된 반도체 메모리 장치의 기능을 테스트하는 과정이 복잡해지고 있다.
예를 들어, 테스트 대상이 되는 메모리 장치의 종류, 메모리 장치에 적용되는 표준 규격, 메모리 장치에서 수행될 테스트 동작의 내용, 메모리 장치의 메모리 셀들 중에서 테스트 동작을 수행할 메모리 셀들의 범위, 및 메모리 장치와의 통신에 사용되는 프로토콜 등을 고려하여 반도체 메모리 장치들마다 메모리 테스트 장치의 조건을 새로 설정하는데 많은 시간 및 노력이 소요된다.
본 발명은 상술된 문제점을 해결하기 위한 것으로, 본 발명의 목적은 테스트 조건의 변경에 따른 재사용이 용이한 구조를 갖는 메모리 테스트 장치 및 이의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 메모리 테스트 장치는, 테스트 할 메모리를 가리키는 설정 신호를 출력하도록 구성된 사용자 인터페이스, 상기 설정 신호를 기반으로 상기 메모리에서 수행될 제1 동작에 대응하는 제1 정보를 계산하고, 상기 계산된 제1 정보를 포함하는 제1 요청 신호를 출력하도록 구성된 프로세서, 상기 메모리가 상기 제1 동작을 수행하도록 상기 제1 요청 신호를 기반으로 상기 메모리와 제1 통신을 수행하도록 구성된 요청 모듈, 및 상기 메모리 및 상기 요청 모듈 사이의 상기 제1 통신을 기록하도록 구성된 벡터를 포함한다.
본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법은, 테스트 조건을 설정하는 단계, 상기 테스트 조건에 부합하는 메모리에서 수행될 동작에 대응하는 정보를 계산하고, 상기 계산된 정보를 포함하는 요청 신호를 생성하는 단계, 상기 요청 신호를 기반으로 상기 메모리가 상기 동작을 수행하도록 상기 메모리와 통신을 수행하는 단계, 및 상기 통신을 기록하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 테스트 조건의 변경에 따른 재사용이 용이한 구조를 갖는 메모리 테스트 장치 및 이의 동작 방법이 제공된다.
또한, 기능별로 독립된 구조들을 가짐에 따라, 각 구조들의 소스 코드의 가독성이 향상되고 테스트 조건의 변경에 따른 수정이 용이한 메모리 테스트 장치 및 이의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 메모리 테스트 장치를 보여주는 블록도이다.
도 2는 도 1의 메모리 테스트 장치를 예시적으로 구체화한 블록도이다.
도 3은 도 2의 사용자 인터페이스를 예시적으로 구체화한 블록도이다.
도 4는 도 2의 프로세서를 예시적으로 구체화한 블록도이다.
도 5는 도 2의 요청 모듈을 예시적으로 구체화한 블록도이다.
도 6은 도 2의 벡터를 예시적으로 구체화한 블록도이다.
도 7은 도 2의 메모리를 예시적으로 구체화한 블록도이다.
도 8은 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법을 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다. 이하에서, 설명의 편의를 위하여, 유사한 구성 요소들은 동일하거나 또는 유사한 참조 번호를 사용하여 표현된다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 테스트 장치를 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 메모리 테스트 장치(100)가 도시된다. 메모리 테스트 장치(100)는 메모리(10)의 기능을 테스트하는 장치일 수 있다. 메모리 테스트 장치(100)는 메모리(10)와 통신하여 메모리(10)의 기능을 테스트할 수 있다.
메모리 테스트 장치(100)는 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 메모리 테스트 장치(100)는 메모리(10)의 기능을 테스트하는 자동 테스트 장비(Automatic Test Equipment)일 수 있다. 또는, 메모리 테스트 장치(100)는 메모리(10)의 기능을 테스트하는 시뮬레이션 프로그램일 수 있다.
메모리(10)는 데이터를 저장하도록 구성된 반도체 메모리 장치일 수 있다. 예를 들어, 메모리(10)는 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리일 수 있다. 메모리(10)는 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 메모리(10)는 자동 테스트 장비와 연결된 메모리 장치일 수 있다. 또는, 메모리(10)는 메모리 설계 정보를 기반으로 생성된 시뮬레이션 전용 파일일 수 있다.
본 발명의 실시 예에 따르면, 메모리 테스트 장치(100)는 다양한 테스트 조건들을 전제로 메모리(10)의 기능을 테스트할 수 있다. 테스트 조건들은 메모리(10)의 종류, 메모리(10)에 적용되는 표준 규격, 메모리(10)에서 수행될 테스트 동작의 내용, 메모리(10)의 메모리 셀들 중 테스트 동작을 수행할 메모리 셀들의 범위, 및 메모리(10)와의 통신에 사용되는 프로토콜 정보 등을 포함할 수 있다.
예를 들어, 메모리(10)의 종류는 컴퓨터, 모바일 장치, 및 그래픽 처리 장치 등과 같은 메모리가 사용될 대상에 따른 종류를 나타낼 수 있다. 메모리(10)에 적용되는 표준 규격은 컴퓨터 전용의 DDR4(Double Data Rate 4th generation) 또는 DDR5(Double Data Rate 5th generation), 모바일 장치 전용의 LPDDR4(Low Power DDR 4th generation) 또는 LPDDR5(Low Power DDR 5th generation), 및 그래픽 처리 장치 전용의 GDDR6(Graphics DDR 6th generation) 등과 같이 장치의 종류에 따라 적용될 규격(specification)을 나타낼 수 있다.
메모리 테스트 장치(100)는 메모리(10)에 대한 다른 테스트를 수행하기 위해서 변경될 수 있다. 예를 들어, 메모리(10)의 다른 기능을 테스트하기 위해서, 메모리(10)의 다른 범위의 메모리 셀들에서의 기능을 테스트하기 위해서, 이전의 테스트 결과를 반영하여 보완 또는 교체된 메모리(10)를 테스트하기 위해서, 또는 메모리(10)와 다른 메모리를 테스트하기 위해서 메모리 테스트 장치(100)의 적어도 일부는 변경될 수 있다. 이 때, 메모리 테스트 장치(100)의 적어도 일부를 변경 또는 교체하는데 많은 시간 및 노력이 소요될 수 있다. 이에 따라, 테스트 조건의 변경에 따른 재사용이 용이한 구조를 갖는 메모리 테스트 장치가 요구될 수 있다.
도 2는 도 1의 메모리 테스트 장치를 예시적으로 구체화한 블록도이다. 도 2를 참조하면, 재사용이 용이한 구조를 갖는 메모리 테스트 장치(100)를 예시적으로 구체화한 블록도가 도시된다. 메모리 테스트 장치(100)는 사용자 인터페이스(110), 프로세서(120), 요청 모듈(130), 및 벡터(140)를 포함할 수 있다.
사용자 인터페이스(110)는 설정 신호(SET)를 프로세서(120)로 출력할 수 있다. 설정 신호(SET)는 테스트 할 메모리(10)를 가리킬 수 있다. 사용자 인터페이스(110)는 사용자로부터 설정 정보들을 수신할 수 있다. 사용자 인터페이스(110)는 수신된 설정 정보들을 기반으로 설정 신호(SET)를 생성할 수 있다.
프로세서(120)는 사용자 인터페이스(110)로부터 설정 신호(SET)를 수신할 수 있다. 프로세서(120)는 요청 모듈(130)로 요청 신호(RQ)를 출력할 수 있다. 요청 신호(RQ)는 메모리(10)의 테스트 동작을 요청하는 신호일 수 있다. 프로세서(120)는 요청 모듈(130)로부터 피드백 신호(FB)를 수신할 수 있다. 피드백 신호(FB)는 메모리(10)가 테스트 동작을 수행한 것을 가리키는 신호일 수 있다. 즉, 프로세서(120)는 메모리(10)에서 수행될 테스트 동작을 계산 또는 스케줄링 하는 모듈일 수 있다.
요청 모듈(130)은 프로세서(120)로부터 요청 신호(RQ)를 수신할 수 있다. 요청 모듈(130)은 메모리(10)가 테스트 동작을 수행하도록 메모리(10)와 통신할 수 있다. 요청 모듈(130)은 피드백 신호(FB)를 프로세서(120)로 출력할 수 있다. 즉, 요청 모듈(130)은 요청 신호(RQ)를 기반으로 메모리(10)를 테스트하는 모듈일 수 있다.
벡터(140)는 메모리(10) 및 요청 모듈(130) 사이의 통신을 기록할 수 있다. 예를 들어, 벡터(140)는 요청 모듈(130)에서 메모리(10)로 출력되는 테스트 동작에 대응하는 정보를 기록할 수 있다. 예를 들어, 테스트 동작이 읽기 커맨드인 경우, 벡터(140)는 메모리(10)에서 요청 모듈(130)로 출력되는 읽기 커맨드에 대응하는 읽기 데이터를 기록할 수 있다.
메모리(10)는 요청 모듈(130)과의 통신을 기반으로 테스트 동작을 수행할 수 있다. 예를 들어, 테스트 동작이 읽기 커맨드인 경우, 메모리(10)는 읽기 커맨드에 대응하는 읽기 데이터를 요청 모듈(130)로 출력할 수 있다. 예를 들어, 테스트 동작이 쓰기 커맨드인 경우, 메모리(10)는 쓰기 커맨드에 대응하는 쓰기 데이터를 저장할 수 있다.
예시적인 실시 예에서, 요청 모듈(130)은 메모리(10)와의 통신을 기반으로, 메모리가 통신에 대응하는 테스트 동작을 수행한 것을 가리키는 피드백 신호(FB)를 프로세서(120)로 출력할 수 있다. 프로세서(120)는 피드백 신호(FB)를 기반으로 메모리(10)가 다음에 수행하기 적절한 다른 테스트 동작에 대응하는 정보를 계산하고, 계산된 정보에 대응하는 다른 요청 신호(미도시)를 요청 모듈(130)로 출력할 수 있다.
본 발명의 실시 예에 따르면, 메모리 테스트 장치(100)는 메모리(10)와 관련성이 높은 구성 및 관련성이 낮은 구성을 포함할 수 있다. 예를 들어, 메모리(10)의 종류 또는 규격이 변경되는 경우, 메모리(10)와 관련성이 높은 요청 모듈(130)은 많은 수정이 요구될 수 있다. 메모리(10)와 관련성이 낮은 사용자 인터페이스(110), 프로세서(120), 및 벡터(140)는 적은 수정이 요구되거나 수정 없이 재사용될 수 있다. 관련성이 낮은 구성은 적은 수정과 함께 또는 수정 없이 다른 메모리의 테스트에 재사용이 가능하므로, 재사용이 용이한 구조를 갖는 메모리 테스트 장치가 제공될 수 있다.
도 3은 도 2의 사용자 인터페이스를 예시적으로 구체화한 블록도이다. 도 3을 참조하면, 사용자 인터페이스(110)를 예시적으로 구체화한 블록도가 도시된다. 사용자 인터페이스(110)는 설정 모듈(111) 및 그래픽 사용자 인터페이스(112)를 포함할 수 있다. 사용자 인터페이스(110)는 테스트 할 메모리를 가리키는 설정 신호(SET)를 프로세서(120)로 출력할 수 있다.
설정 모듈(111)은 테스트 조건들을 설정하여 설정 신호(SET)를 생성할 수 있다. 설정 모듈(111)은 설정 신호(SET)를 프로세서(120)로 출력할 수 있다. 예시적인 실시 예에서, 설정 모듈(111)은 메모리(10)의 종류에 따른 규격을 가리키는 설정 정보, 메모리(10)의 복수의 메모리 셀들 중 테스트 동작이 수행될 메모리 셀들의 범위를 가리키는 설정 정보, 및 벡터(140)가 통신에 대응하는 정보를 저장하는 포맷(예를 들어, 자동 테스트 장비 전용 파일 포맷 또는 시뮬레이션 전용 파일 포맷)을 가리키는 설정 정보를 포함하는 설정 신호(SET)를 생성할 수 있다.
그래픽 사용자 인터페이스(112)는 그래픽을 통해서 사용자 및 설정 모듈(111)을 연결하는 모듈일 수 있다. 예를 들어, 그래픽 사용자 인터페이스(112)는 설정 모듈(111)의 설정 정보들을 그래픽으로 표현하여 사용자에게 출력할 수 있다. 사용자는 그래픽으로 표현된 설정 정보들을 참조하여, 설정 모듈(111)에 새로운 설정 정보를 추가하거나 기존의 설정 정보를 수정할 수 있다.
도 4는 도 2의 프로세서를 예시적으로 구체화한 블록도이다. 도 4를 참조하면, 프로세서(120)를 예시적으로 구체화한 블록도가 도시된다. 프로세서(120)는 모드 모듈(121), 상태 모듈(122), 갭 인서터(123), 어드레스 컨트롤러(124), 요청 생성기(125), 및 요청 실행기(126)를 포함할 수 있다. 프로세서(120)는 사용자 인터페이스(110)로부터 설정 신호(SET)를 수신할 수 있다. 프로세서(120)는 요청 모듈(130)로 요청 신호(RQ)를 출력할 수 있다. 프로세서(120)는 요청 모듈(130)로부터 피드백 신호(FB)를 수신할 수 있다.
모드 모듈(121)은 테스트 동작의 모드를 결정하는 모듈일 수 있다. 테스트 동작의 모드는 테스트 동작을 구체화한 정보를 포함할 수 있다. 예를 들어, 테스트 동작의 모드는 테스트 동작에 대응하는 데이터의 크기, 메모리에서 소모되는 전력, 및 메모리에서 테스트 동작에 대응하는 커맨드들의 처리 속도를 나타낼 수 있다.
상태 모듈(122)은 메모리의 상태 정보를 결정하는 모듈일 수 있다. 메모리는 테스트 동작을 수행한 후 상태가 변경될 수 있다. 메모리는 상태에 따라 수행할 수 있는 동작이 달라질 수 있다. 예를 들어, 메모리가 DDR4 규격이 적용되는 DRAM인 경우, Idle 상태의 메모리는 리프레시 동작 또는 활성화 동작을 수행할 수 있다. 활성화 동작을 수행한 메모리는 활성 상태가 될 수 있다. 활성 상태의 메모리는 읽기 동작 또는 쓰기 동작을 수행할 수 있다. 이 때, Idle 상태의 메모리는 별도의 활성화 동작 없이 읽기 동작의 수행이 불가능할 수 있다.
예시적인 실시 예에서, 상태 모듈(122)은 피드백 신호(FB)를 기반으로 메모리의 상태를 결정할 수 있다. 예를 들어, 상태 모듈(122)은 활성화 동작을 수행한 것을 가리키는 피드백 신호(FB)를 수신하고, 메모리의 상태를 활성 상태로 결정할 수 있다. 요청 생성기(125)는 상태 모듈(122)에서 활성 상태로 결정된 것에 기초하여 읽기 동작에 대응하는 요청 신호(RQ)를 생성할 수 있다.
예시적인 실시 예에서, 상태 모듈(122)은 피드백 신호(FB)와 무관하게 메모리의 상태를 결정할 수 있다. 예를 들어, 테스트를 수행하기 전 메모리는 파워-오프(power-off) 상태일 수 있다. 상태 모듈(122)은 피드백 신호(FB)와 무관하게 메모리의 상태를 파워-오프 상태로 결정할 수 있다. 요청 생성기(125)는 상태 모듈(122)에서 파워-오프 상태로 결정된 것에 기초하여 전원 인가 동작에 대응하는 요청 신호(RQ)를 생성할 수 있다.
갭 인서터(123)는 테스트 동작에 대응하는 커맨드들 각각 사이의 시간 간격을 계산할 수 있다. 예를 들어, 테스트 동작은 제1 쓰기 커맨드 및 제2 쓰기 커맨드를 포함할 수 있다. 갭 인서터(123)는 제1 쓰기 커맨드 및 제2 쓰기 커맨드 사이의 시간 간격을 계산할 수 있다.
어드레스 컨트롤러(124)는 테스트 동작을 수행할 메모리 셀의 어드레스를 결정할 수 있다. 좀 더 상세하게는, 메모리는 데이터를 저장하도록 각각 구성된 복수의 메모리 셀들을 포함할 수 있다. 어드레스 컨트롤러(124)는 메모리의 복수의 메모리 셀들 중 테스트 동작을 수행할 적어도 하나의 메모리 셀의 위치를 가리키는 어드레스를 결정할 수 있다.
요청 생성기(125)는 모드 모듈(121), 상태 모듈(122), 갭 인서터(123), 및 어드레스 컨트롤러(124)에서 생성된 정보들을 기반으로 요청 신호(RQ)를 생성할 수 있다. 좀 더 상세하게는, 요청 생성기(125)는 모드 모듈(121)에서 결정된 테스트 동작의 모드, 상태 모듈(122)에서 관리되는 메모리의 상태 정보, 갭 인서터(123)에서 계산된 테스트 동작에 대응하는 커맨드들 각각 사이의 시간 간격, 및 어드레스 컨트롤러(124)에서 결정된 테스트 동작을 수행할 메모리 셀의 어드레스를 기반으로 요청 신호(RQ)를 생성할 수 있다.
요청 실행기(126)는 요청 생성기(125)에서 생성된 요청 신호(RQ)를 요청 모듈(130)로 출력할 수 있다.
도 5는 도 2의 요청 모듈을 예시적으로 구체화한 블록도이다. 도 5를 참조하면, 요청 모듈(130)을 예시적으로 구체화한 블록도가 도시된다. 요청 모듈(130)은 갭 모듈(131), 어드레스 모듈(132), 커맨드 테이블(133), 행동 모듈(134), 및 프로토콜 정보를 포함할 수 있다. 프로토콜 정보는 요청 모듈(130) 및 메모리(10) 사이의 통신에 사용되는 통신 규약을 나타내는 정보일 수 있다. 요청 모듈(130)은 프로세서(120)로부터 요청 신호(RQ)를 수신할 수 있다. 요청 모듈(130)은 요청 신호(RQ)를 기반으로 메모리(10)와 통신할 수 있다. 요청 모듈(130)은 메모리(10)와의 통신을 기반으로 피드백 신호(FB)를 프로세서(120)로 출력할 수 있다.
갭 모듈(131)은 요청 신호(RQ)를 기반으로 테스트 동작에 대응하는 커맨드들 각각 사이의 계산된 시간 간격을 저장할 수 있다. 어드레스 모듈(132)은 요청 신호(RQ)를 기반으로 메모리(10)의 복수의 메모리 셀들 중 테스트 동작을 수행할 적어도 하나의 메모리 셀의 결정된 어드레스를 저장할 수 있다.
커맨드 테이블(133)은 메모리(10)에 적용되는 표준 규격에 따른 메모리의 커맨드들을 저장할 수 있다. 커맨드 테이블(133)에 저장된 커맨드들은 테스트 동작에 대응하는 커맨드들을 포함할 수 있다. 예를 들어, 커맨드 테이블(133)은 캘리브레이션(calibration), 리프레쉬(refresh), 프리차지(precharge), 활성화(activate), 쓰기(write), 읽기(read) 등의 메모리에서 수행되는 커맨드들을 저장할 수 있다.
행동 모듈(134)은 요청 신호(RQ)를 기반으로 테스트 동작에 대응하는 데이터를 생성할 수 있다. 예를 들어, 행동 모듈(134)은 요청 신호(RQ)에 포함된 데이터의 크기 정보를 기반으로 테스트 동작에 대응하는 데이터를 생성할 수 있다.
예시적인 실시 예에서, 행동 모듈(134)은 갭 모듈(131)에 저장된 시간 간격, 어드레스 모듈(132)에 저장된 어드레스, 커맨드 테이블(133)에 저장된 테스트 동작에 대응하는 커맨드들, 프로토콜 정보, 및 행동 모듈(134)에서 생성된 데이터를 기반으로, 메모리(10)가 테스트 동작을 수행하도록 메모리(10)와 통신을 수행할 수 있다.
행동 모듈(134)은 DQ 행동 모듈, DQS 행동 모듈, 및 DM 행동 모듈을 포함할 수 있다. DQ 행동 모듈은 테스트 동작에 대응하는 데이터 신호를 생성할 수 있다. DQS 행동 모듈은 데이터 신호의 전송을 제어하는 데이터 스트로브 신호를 생성할 수 있다. DM 행동 모듈은 데이터 신호를 마스크(mask)하는 데이터 마스크 신호를 생성할 수 있다. 행동 모듈(134)은 데이터 신호, 데이터 스트로브 신호, 및 데이터 마스크 신호를 기반으로 테스트 동작에 대응하는 데이터를 메모리(10)로 출력할 수 있다.
본 발명의 실시 예에 따르면, 요청 모듈(130)은 메모리(10)와 관련성이 높은 구성일 수 있다. 메모리(10)의 종류 또는 규격이 변경되는 경우, 요청 모듈(130)은 많은 수정이 요구될 수 있다. 이 때, 요청 모듈(130)은 갭 모듈(131), 어드레스 모듈(132), 커맨드 테이블(133), 행동 모듈(134), 및 프로토콜 정보와 같이 기능에 따라 하위 구성들이 명확하게 구별되므로, 테스트 조건의 변경에 따른 수정이 용이할 수 있다.
도 6은 도 2의 벡터를 예시적으로 구체화한 블록도이다. 도 6을 참조하면, 벡터(140)를 예시적으로 구체화한 블록도가 도시된다. 벡터(140)는 컨테이너(141) 및 파일 생성기(142)를 포함할 수 있다. 벡터(140)는 요청 모듈(130) 및 메모리(10) 사이의 통신을 기록할 수 있다.
컨테이너(141)는 요청 모듈(130) 및 메모리(10) 사이의 통신을 기록할 수 있다. 예를 들어, 요청 모듈(130)에서 메모리(10)로 출력되는 테스트 동작의 요청에 대응하는 데이터를 기록할 수 있다. 또는, 메모리(10)에서 요청 모듈(130)로 출력되는 읽기 커맨드에 대응하는 읽기 데이터를 기록할 수 있다.
파일 생성기(142)는 컨테이너(141)에 기록된 통신에 대응하는 파일을 포맷에 따라 생성할 수 있다. 예를 들어, 파일 생성기(142)는 컨테이너(141)에 기록된 통신에 대응하는 파일을 시뮬레이션 전용 파일 포맷(SIM)으로 생성할 수 있다. 또는, 파일 생성기(142)는 컨테이너(141)에 기록된 통신에 대응하는 파일을 자동 테스트 장비 전용 파일 포맷(ATE)으로 생성할 수 있다.
예시적인 실시 예에서, 파일 생성기(142)는 사용자 인터페이스(예를 들어, 도 3의 사용자 인터페이스)와 연결될 수 있고, 사용자 인터페이스에서 설정된 포맷을 기반으로 생성될 파일의 포맷이 시뮬레이션 전용 파일 포맷(SIM)인지 또는 자동 테스트 장비 전용 파일 포맷(ATE)인지 결정할 수 있다.
도 7은 도 2의 메모리를 예시적으로 구체화한 블록도이다. 도 7을 참조하면, 메모리(10)를 예시적으로 구체화한 블록도가 도시된다. 메모리(10)는 메모리 셀 어레이(11), ECC(Error Correcting Code) 모듈(12), 및 테스트 장치 인터페이스(13)를 포함할 수 있다. 메모리(10)는 요청 모듈(130)과의 통신을 기반으로 테스트 동작을 수행할 수 있다.
메모리 셀 어레이(11)는 복수의 메모리 셀(MC)들을 포함할 수 있다. 복수의 메모리 셀(MC)들 각각은 요청 모듈(130)과의 통신을 기반으로 테스트 동작의 적어도 일부를 수행하도록 구성될 수 있다. 예를 들어, 메모리 셀(MC)은 테스트 동작에 대응하는 쓰기 커맨드에 따라 쓰기 데이터를 저장할 수 있다. 또는, 메모리 셀(MC)은 테스트 동작에 대응하는 읽기 커맨드에 따라 읽기 데이터를 출력할 수 있다.
ECC 모듈(12)은 메모리 셀 어레이(11)에서 수행된 테스트 동작의 적어도 일부를 기반으로 발생한 에러를 정정할 수 있다. 예를 들어, 테스트 동작에 대응하는 커맨드가 쓰기 커맨드인 경우, ECC 모듈(12)은 에러 정정 인코딩 한 쓰기 데이터를 메모리 셀 어레이(11)로 출력할 수 있다. 테스트 동작에 대응하는 커맨드가 읽기 커맨드인 경우, ECC 모듈(12)은 메모리 셀 어레이(11)로부터 수신된 읽기 데이터에 에러 정정 디코딩을 수행할 수 있다.
테스트 장치 인터페이스(13)는 요청 모듈(130)과 연결될 수 있다. 테스트 장치 인터페이스(13)는 요청 모듈(130)과의 통신에 사용되는 프로토콜 정보를 포함할 수 있다. 테스트 장치 인터페이스(13)는 ECC 모듈(12)을 통해서 메모리 셀 어레이(11)의 복수의 메모리 셀(MC)들과 연결될 수 있다.
본 발명의 실시 예에 따르면, 메모리(10)는 테스트 조건의 변경에 따라 변경되는 구성 및 변경되지 않는(또는, 변경되는 부분이 적은) 구성을 포함할 수 있다. 예를 들어, 메모리(10)의 종류가 변경되는 경우, 프로토콜 정보가 변경되므로 테스트 장치 인터페이스(13)는 새로운 프로토콜 정보로의 보완이 요구될 수 있다. 반면에, 메모리 셀 어레이(11) 및 ECC 모듈(12)은 다른 종류의 같은 용량을 갖는 메모리를 테스트할 때 재사용될 수 있다.
도 8은 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법을 보여주는 순서도이다. 도 8을 참조하면, 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법이 도시된다. S110 단계에서, 메모리 테스트 장치는 테스트 조건을 설정할 수 있다. 예를 들어, 메모리 테스트 장치는 테스트 할 메모리의 종류에 따른 규격, 메모리의 복수의 메모리 셀들 중 테스트 동작이 수행될 메모리 셀들의 범위, 및 메모리 테스트 장치와 메모리 사이의 통신에 대응하는 정보를 저장하는 포맷을 설정할 수 있다.
S121 단계에서, 메모리 테스트 장치는 S111 단계에서 설정된 테스트 조건에 부합하는 메모리에서 수행될 테스트 동작에 대응하는 정보를 계산하고, 계산된 정보를 포함하는 요청 신호를 생성할 수 있다. 예시적인 실시 예에서, 테스트 동작에 대응하는 정보는 요청 신호는 테스트 동작의 모드, 메모리의 상태 정보, 테스트 동작에 대응하는 커맨드들 각각 사이의 시간 간격, 및 테스트 동작을 수행할 메모리 셀의 어드레스를 포함할 수 있다.
S122 단계에서, 메모리 테스트 장치는 S121 단계에서 생성된 요청 신호를 기반으로 메모리가 테스트 동작을 수행하도록 메모리와 통신할 수 있다.
S131 단계에서, 메모리 테스트 장치는 메모리와의 통신을 기록할 수 있다. 예를 들어, 메모리 테스트 장치에서 메모리로 출력되는 테스트 동작의 요청에 대응하는 데이터를 기록할 수 있다. 예시적인 실시 예에서, S131 단계는 S122 단계와 병렬적으로 수행될 수 있다.
S132 단계에서, 메모리 테스트 장치는 S122 단계의 통신을 기반으로 피드백 신호를 생성할 수 있다. 피드백 신호는 메모리가 테스트 동작을 수행한 것을 가리키는 신호일 수 있다.
도 9는 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법을 예시적으로 보여주는 순서도이다. 도 9를 참조하면, 본 발명의 실시 예에 따른 메모리 테스트 장치의 동작 방법이 예시적으로 도시된다. S210 단계에서, 메모리 테스트 장치는 테스트 조건을 설정할 수 있다.
S220 단계에서, 메모리 테스트 장치는 제1 테스트 동작에 대응하는 정보를 계산하고, 계산된 정보를 포함하는 제1 요청 신호를 생성할 수 있다. 메모리 테스트 장치는 제1 요청 신호를 기반으로 메모리가 제1 테스트 동작을 수행하도록 메모리와 제1 통신을 수행할 수 있다.
S230 단계에서, 메모리 테스트 장치는 제1 통신을 기록하고, 제1 통신을 기반으로 메모리가 제1 테스트 동작을 수행한 것을 가리키는 제1 피드백 신호를 생성할 수 있다.
S240 단계에서, 메모리 테스트 장치는 제1 피드백 신호를 기반으로 제2 테스트 동작에 대응하는 정보를 계산하고, 계산된 정보를 포함하는 제2 요청 신호를 생성할 수 있다. 메모리 테스트 장치는 제2 요청 신호를 기반으로, 메모리가 제2 테스트 동작을 수행하도록 메모리와 제2 통신을 수행할 수 있다.
예시적인 실시 예에서, 메모리 테스트 장치는 제1 테스트 동작을 수행한 메모리의 상태를 기반으로 제2 테스트 동작에 대응하는 정보를 계산할 수 있다. 예를 들어, 테스트 대상이 되는 메모리는 제1 상태에서 제1 동작을 수행하고 제2 상태가 될 수 있다. 메모리는 제2 상태에서 제2 동작을 수행할 수 있다. 메모리 테스트 장치는 메모리가 제1 동작을 수행하도록 제1 통신을 수행할 수 있다. 메모리 테스트 장치는 제1 통신을 기반으로 메모리의 상태 정보를 제1 상태에서 제2 상태로 변경하고, 메모리에서 수행될 제2 동작을 위한 제2 통신을 준비할 수 있다.
S250 단계에서, 메모리 테스트 장치는 제2 통신을 기록하고, 제2 통신을 기반으로 메모리가 제2 테스트 동작을 수행한 것을 가리키는 제2 피드백 신호를 생성할 수 있다.
상술된 바와 같이, 도 2 내지 도 7을 참조하면, 본 발명의 실시 예에 따른 메모리 테스트 장치의 구조가 도시된다. 예시적인 실시 예에서, 메모리 테스트 장치의 적어도 일부는 소프트웨어로 구현될 수 있다. 메모리 테스트 장치의 구성들이 기능별로 분류됨에 따라, 소프트웨어로 표현되는 소스 코드의 가독성이 향상된 메모리 테스트 장치가 제공될 수 있다.
예시적인 실시 예에서, 메모리 테스트 장치의 구성들은 UML(Unified Modeling Language)을 기반으로 구현될 수 있다. 테스트 대상 메모리가 변경되는 경우, 도 2 내지 도 7에서 도시된 메모리 테스트 장치 및 메모리 테스트 장치의 하위 구성들의 구조를 유지하면서, 모델링 레벨에서의 수정을 통해서 소스 코드를 수정하는 포워드-엔지니어링(forward-engineering) 또는 소스 코드 레벨에서의 수정을 통해서 모델링을 수정하는 리버스-엔지니어링(reverse-engineering)을 통해서 메모리 테스트 장치를 보완할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (10)

  1. 테스트 할 메모리를 가리키는 설정 신호를 출력하도록 구성된 사용자 인터페이스;
    상기 설정 신호를 기반으로 상기 메모리에서 수행될 제1 동작에 대응하는 제1 정보를 계산하고, 상기 계산된 제1 정보를 포함하는 제1 요청 신호를 출력하도록 구성된 프로세서;
    상기 메모리가 상기 제1 동작을 수행하도록 상기 제1 요청 신호를 기반으로 상기 메모리와 제1 통신을 수행하도록 구성된 요청 모듈; 및
    상기 메모리 및 상기 요청 모듈 사이의 상기 제1 통신을 기록하도록 구성된 벡터를 포함하는 메모리 테스트 장치.
  2. 제 1 항에 있어서,
    상기 요청 모듈은 상기 제1 통신을 기반으로 상기 메모리가 상기 제1 동작을 수행한 것을 가리키는 제1 피드백 신호를 상기 프로세서로 출력하도록 더 구성되고,
    상기 프로세서는 상기 제1 피드백 신호를 기반으로 상기 메모리에서 수행될 제2 동작에 대응하는 제2 정보를 계산하고, 상기 계산된 제2 정보를 포함하는 제2 요청 신호를 상기 요청 모듈로 출력하도록 더 구성된 메모리 테스트 장치.
  3. 제 2 항에 있어서,
    상기 요청 모듈은 상기 메모리가 상기 제2 동작을 수행하도록 상기 제2 요청 신호를 기반으로 상기 메모리와 제2 통신을 수행하도록 더 구성되고,
    상기 벡터는 상기 메모리 및 상기 요청 모듈 사이의 상기 제2 통신을 기록하도록 더 구성된 메모리 테스트 장치.
  4. 제 1 항에 있어서,
    상기 사용자 인터페이스는:
    상기 메모리의 규격을 가리키는 제1 설정 정보, 상기 메모리의 복수의 메모리 셀들 중 상기 제1 동작이 수행될 메모리 셀들의 범위를 가리키는 제2 설정 정보, 및 상기 벡터가 상기 제1 통신에 대응하는 정보를 저장하는 포맷을 가리키는 제3 설정 정보를 포함하는 상기 설정 신호를 생성하도록 구성된 설정 모듈; 및
    상기 설정 모듈의 상기 제1 내지 제3 설정 정보들을 그래픽으로 나타내도록 구성된 그래픽 사용자 인터페이스를 포함하는 메모리 테스트 장치.
  5. 제 1 항에 있어서,
    상기 요청 모듈은 상기 제1 통신을 기반으로 상기 메모리가 상기 제1 동작을 수행한 것을 가리키는 제1 피드백 신호를 상기 프로세서로 출력하도록 더 구성되고,
    상기 프로세서는:
    상기 제1 동작에 대응하는 데이터의 크기, 상기 메모리에서 소모되는 전력, 및 상기 메모리에서 상기 제1 동작에 대응하는 커맨드들의 처리 속도를 나타내는 상기 제1 동작의 모드를 결정하도록 구성된 모드 모듈;
    상기 메모리의 상태 정보를 결정하도록 구성된 상태 모듈;
    상기 제1 동작에 대응하는 상기 커맨드들 각각 사이의 시간 간격을 계산하도록 구성된 갭 인서터;
    상기 메모리의 복수의 메모리 셀들 중 상기 제1 동작을 수행할 적어도 하나의 메모리 셀의 어드레스를 결정하도록 구성된 어드레스 컨트롤러;
    상기 제1 정보를 기반으로 상기 제1 요청 신호를 생성하도록 구성된 요청 생성기; 및
    상기 생성된 제1 요청 신호를 상기 요청 모듈로 출력하도록 구성된 요청 실행기를 포함하되,
    상기 제1 정보는 상기 제1 동작의 상기 결정된 모드, 상기 결정된 상태 정보, 상기 제1 동작에 대응하는 상기 커맨드들 각각 사이의 상기 계산된 시간 간격, 및 상기 제1 동작을 수행할 상기 적어도 하나의 메모리 셀의 상기 결정된 어드레스를 포함하는 메모리 테스트 장치.
  6. 제 5 항에 있어서,
    상기 요청 모듈은:
    상기 제1 요청 신호를 기반으로 상기 제1 동작에 대응하는 상기 커맨드들 각각 사이의 상기 계산된 시간 간격을 저장하도록 구성된 갭 모듈;
    상기 제1 요청 신호를 기반으로 상기 제1 동작을 수행할 상기 적어도 하나의 메모리 셀의 상기 결정된 어드레스를 저장하도록 구성된 어드레스 모듈;
    상기 제1 동작에 대응하는 상기 커맨드들을 저장하는 커맨드 테이블;
    상기 제1 통신에 사용되는 프로토콜 정보; 및
    상기 제1 요청 신호를 기반으로 상기 데이터를 생성하고, 상기 저장된 시간 간격, 상기 저장된 어드레스, 상기 저장된 커맨드들, 상기 프로토콜 정보, 및 상기 생성된 데이터를 기반으로 상기 메모리가 상기 제1 동작을 수행하도록 상기 메모리와 제1 통신을 수행하는 행동 모듈을 포함하는 메모리 테스트 장치.
  7. 제 6 항에 있어서,
    상기 행동 모듈은:
    상기 데이터에 대응하는 데이터 신호를 생성하도록 구성된 DQ 행동 모듈;
    상기 데이터 신호의 전송을 제어하는 데이터 스트로브 신호를 생성하도록 구성된 DQS 행동 모듈; 및
    상기 데이터 신호를 마스크하는 데이터 마스크 신호를 생성하도록 구성된 DM 행동 모듈을 포함하는 메모리 테스트 장치.
  8. 제 1 항에 있어서,
    상기 벡터는:
    상기 제1 통신을 기록하도록 구성된 컨테이너; 및
    상기 컨테이너에 기록된 상기 제1 통신에 대응하는 파일을 제1 포맷 또는 제2 포맷으로 생성하도록 구성된 파일 생성기를 포함하는 메모리 테스트 장치.
  9. 제 1 항에 있어서,
    상기 메모리는:
    상기 제1 통신을 기반으로 상기 제1 동작의 적어도 일부를 수행하도록 각각 구성된 복수의 메모리 셀들;
    상기 제1 동작의 상기 수행된 적어도 일부를 기반으로 발생한 에러를 정정하도록 구성된 ECC(Error Correcting Code) 모듈; 및
    상기 제1 통신에 사용되는 프로토콜 정보를 포함하고, 상기 ECC 모듈을 통해서 상기 복수의 메모리 셀들과 연결된 테스트 장치 인터페이스를 포함하는 메모리 테스트 장치.
  10. 메모리 테스트 장치의 동작 방법에 있어서:
    테스트 조건을 설정하는 단계;
    상기 테스트 조건에 부합하는 메모리에서 수행될 동작에 대응하는 정보를 계산하고, 상기 계산된 정보를 포함하는 요청 신호를 생성하는 단계;
    상기 요청 신호를 기반으로 상기 메모리가 상기 동작을 수행하도록 상기 메모리와 통신을 수행하는 단계; 및
    상기 통신을 기록하는 단계를 포함하는 동작 방법.
KR1020200017360A 2020-02-13 2020-02-13 메모리 테스트 장치 및 이의 동작 방법 KR20210103069A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200017360A KR20210103069A (ko) 2020-02-13 2020-02-13 메모리 테스트 장치 및 이의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200017360A KR20210103069A (ko) 2020-02-13 2020-02-13 메모리 테스트 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210103069A true KR20210103069A (ko) 2021-08-23

Family

ID=77499286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200017360A KR20210103069A (ko) 2020-02-13 2020-02-13 메모리 테스트 장치 및 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR20210103069A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511104B1 (ko) * 2022-06-13 2023-03-15 삼성전자주식회사 메모리 테스트 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511104B1 (ko) * 2022-06-13 2023-03-15 삼성전자주식회사 메모리 테스트 장치

Similar Documents

Publication Publication Date Title
TWI517150B (zh) 可變動態記憶體刷新
US7958409B2 (en) Method for recording memory parameter and method for optimizing memory
US11978503B2 (en) Method and apparatus for determining signal margin of memory cell and storage medium
KR20050018046A (ko) 메모리 클럭 신호의 주파수를 선택적으로 가변시키는메모리 컨트롤러 및 이를 이용한 메모리의 데이터 독출동작 제어방법
WO2023035413A1 (zh) 一种读写测试方法及装置、计算机存储介质和电子设备
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
CN115223649A (zh) 信息检测方法及装置、电子设备
US10802760B2 (en) Apparatus and method of intelligent dynamic application aware storage device optimization
KR20210103069A (ko) 메모리 테스트 장치 및 이의 동작 방법
US20170103797A1 (en) Calibration method and device for dynamic random access memory
US20050081002A1 (en) Memory system and method of managing a memory system
US20230386563A1 (en) Memory device, electronic device including the same, and operating method of electronic device
US20230280928A1 (en) Method and apparatus for testing memory chip, and storage medium
US11923042B2 (en) Apparatus, memory device, and method reducing clock training time
CN108376555B (zh) 存储器设备及其测试方法以及存储器模块及使用其的系统
CN114048465B (zh) 一种堆栈状态检测方法、装置、设备及存储介质
CN109582615B (zh) 一种ddr3控制系统
KR930004427B1 (ko) 주기억장치의 자체 시험시간 단축방법
US11934683B2 (en) Method and apparatus for testing memory chip, and storage medium
US20240143445A1 (en) Stability Testing for Memory Overclocking
WO2023245762A9 (zh) 存储芯片测试方法及装置、介质及设备
CN117112452B (zh) 寄存器模拟配置方法、装置、计算机设备和存储介质
CN116955240B (zh) 一种ddr控制器中phy电路的延时校准系统及方法
US20230410929A1 (en) Memory chip test method and apparatus, medium, and device
US11380413B2 (en) Test system and test method