KR20200122176A - 테스트 패턴 발생기 및 테스트 패턴 발생 방법 - Google Patents

테스트 패턴 발생기 및 테스트 패턴 발생 방법 Download PDF

Info

Publication number
KR20200122176A
KR20200122176A KR1020190045103A KR20190045103A KR20200122176A KR 20200122176 A KR20200122176 A KR 20200122176A KR 1020190045103 A KR1020190045103 A KR 1020190045103A KR 20190045103 A KR20190045103 A KR 20190045103A KR 20200122176 A KR20200122176 A KR 20200122176A
Authority
KR
South Korea
Prior art keywords
address
command
addresses
combination
bank
Prior art date
Application number
KR1020190045103A
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 KR1020190045103A priority Critical patent/KR20200122176A/ko
Priority to CN201911308484.5A priority patent/CN111833955A/zh
Priority to US16/725,699 priority patent/US11264114B2/en
Publication of KR20200122176A publication Critical patent/KR20200122176A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

테스트 패턴 발생기는, 랜덤 커맨드 어드레스 발생기; 상기 랜덤 커맨드 어드레스 발생기에서 생성된 N개(N은 2이상의 정수)의 커맨드 어드레스 조합을 N차원의 어드레스로 변환하는 어드레스 변환기; 상기 N차원의 어드레스를 이용해 억세스되는 히스토리 저장 회로; 및 상기 히스토리 저장 회로에서 상기 N차원의 어드레스를 이용해 억세스된 영역의 값이 노 히트를 나타내는 경우에, 상기 N개 커맨드 어드레스 조합을 이슈 대상으로 분류하는 제어기를 포함할 수 있다.

Description

테스트 패턴 발생기 및 테스트 패턴 발생 방법 {TEST PATTERN GENERATOR AND METHOD FOR TEST PATTERN GENERATION}
본 특허 문헌은 메모리의 테스트 패턴을 생성하는 테스트 패턴 발생기에 관한 것이다.
컴퓨팅 시스템(computing system)의 발전에 따라 메모리의 용량이 증가하고 새로운 기능들이 추가되고 있다. 즉, 메모리의 커맨드 셋(command set)의 개수 및 뱅크(bank)의 개수가 증가하고 있다. 커맨드 셋의 종류와 뱅크의 개수가 늘어나는 경우 검증이 필요한 테스트 패턴은 기하급수적으로 늘어날 수 있다. 예를 들어, LPDDR5 메모리는 LPDDR4 메모리 대비 60% 많은 커맨드 셋과 2배 많은 뱅크를 가지는데, LPDDR5 메모리의 테스트를 위해 검증이 필요한 테스트 패턴의 종류는 LPDDR4 메모리 대비 수백배 증가할 수 있다.
메모리의 테스트시에 테스트 패턴을 랜덤하게 생성하는데, 테스트 시간이 증가할수록 테스트 패턴이 중복될 확률이 늘어나, 즉 이미 테스트한 테스트 패턴을 다시 테스트할 확률이 늘어나, 테스트 커버리지(test coverage)가 포화(saturation)하는 현상이 발생할 수 있다.
본 발명의 실시예들은, 테스트 패턴의 중복을 줄인 테스트 패턴 발생기를 제공할 수 있다.
본 발명의 일실시예에 따른 테스트 패턴 발생기는, 랜덤 커맨드 어드레스 발생기; 상기 랜덤 커맨드 어드레스 발생기에서 생성된 N개(N은 2이상의 정수)의 커맨드 어드레스 조합을 N차원의 어드레스로 변환하는 어드레스 변환기; 상기 N차원의 어드레스를 이용해 억세스되는 히스토리 저장 회로; 및 상기 히스토리 저장 회로에서 상기 N차원의 어드레스를 이용해 억세스된 영역의 값이 노 히트를 나타내는 경우에, 상기 N개 커맨드 어드레스 조합을 이슈 대상으로 분류하는 제어기를 포함할 수 있다.
본 발명의 다른 실시예에 따른 테스트 패턴 발생기는, 랜덤 커맨드 어드레스 발생기; 상기 랜덤 커맨드 어드레스 발생기에서 생성된 커맨드와 뱅크 어드레스 조합을 저장하기 위한 패턴 저장 회로; 상기 랜덤 커맨드 어드레스 발생기에서 발생된 제1 커맨드와 뱅크 어드레스의 조합을 제1축 어드레스로 변환하고, 상기 랜덤 커맨드 어드레스 발생기에서 발생된 제2 커맨드와 뱅크 어드레스의 조합을 제2축 어드레스로 변환하고, 상기 랜덤 커맨드 어드레스 발생기에서 발생된 제3 커맨드와 뱅크 어드레스의 조합을 제3축 어드레스로 변환하는 어드레스 변환기; 상기 제1 내지 제3축 어드레스에 의해 억세스되는 히스토리 저장 회로; 및 상기 히스토리 저장 회로에서 상기 제1 내지 제3축 어드레스를 이용해 억세스된 영역의 값이 노 히트를 나타내는 경우에, 상기 제1 내지 제3 커맨드와 어드레스의 조합이 이슈 대상으로서 상기 패턴 저장 회로에 저장되도록 제어하는 제어기를 포함할 수 있다.
본 발명의 일실시예에 따른 테스트 패턴 생성 방법은, 랜덤하게 N개의 커맨드와 뱅크 어드레스의 조합을 생성하는 단계; 상기 N개의 커맨드와 뱅크 어드레스의 조합을 N 차원의 어드레스로 변환하는 단계; 상기 N 차원의 어드레스를 이용해 히스토리 저장 회로를 억세스해 히트 여부를 확인하는 단계; 및 상기 확인하는 단계에서 노 히트를 확인하는 것에 응답해 상기 N개의 커맨드와 뱅크 어드레스의 조합을 이슈 대상으로 분류하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 테스트 패턴 생성 방법은, 랜덤하게 N개의 커맨드와 뱅크 어드레스의 조합을 생성하는 단계; 상기 N개의 커맨드와 뱅크 어드레스의 조합을 N 차원의 어드레스로 변환하는 단계; 상기 N 차원의 어드레스를 이용해 히스토리 저장 회로를 억세스해 히트 여부를 확인하는 단계; 및 상기 확인하는 단계에서 히트를 확인하는 것에 응답해 상기 N개의 커맨드와 뱅크 어드레스의 조합을 변경하는 단계를 포함할 수 있다.
본 발명의 실시예들에 따르면, 테스트 패턴 발생기의 테스트 패턴의 중복을 줄일 수 있다.
도 1은 본 발명의 일실시예에 따른 테스트 패턴 발생기(100)의 구성도.
도 2는 히스토리 저장 회로(140)의 구조를 개념적으로 도시한 도면.
도 3은 도 1의 테스트 패턴 발생기(100)의 동작의 일실시예를 도시한 도면.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 본 발명을 설명함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
테스트 패턴의 구별
테스트 패턴은 연속된 N개(N은 2이상의 정수)의 커맨드 어드레스 조합을 하나의 묶음으로 구별될 수 있다. 이하에서는 설명의 편의를 위해 N=3이라 가정하기로 한다. 3개의 연속된 커맨드 어드레스 조합 중 커맨드 또는 뱅크 어드레스 중 하나라도 다른 경우 다른 테스트 패턴이 될 수 있다.
메모리에서 사용되는 커맨드의 종류는 매우 많지만 여기서는 설명의 편의를 위해 액티브(ACT, active), 라이트(WR, write), 리드(RD, read), 프리차지(PRE, precharge) 및 리프레시(REF, refresh)의 5가지 커맨드가 존재한다고 가정하기로 한다. 이하에서는 이를 ACT, WR, RD, PRE, REF로 표기하기로 한다. 또한, 어드레스는 뱅크 어드레스(Bank Address)를 기준으로 동일 여부를 판단하기로 한다. 즉 뱅크 어드레스 이하의 어드레스의 동일 여부는 고려하지 않기로(don't care) 한다. 또한, 설명의 편의를 위해 뱅크의 개수는 8개라고 가정하기로 한다.
괄호 안을 뱅크 어드레스라 할 때, 테스트 패턴 ACT (BANK1) -> RD (BANK1) -> WR (BANK2)는 테스트 패턴 ACT (BANK1) -> RD (BANK1) -> WR (BANK3)와 다른 테스트 패턴이다. 이는 라이트 커맨드에 의해 라이트되는 뱅크가 서로 다르기 때문이다. 마찬가지로 ACT (BANK7) -> PRE (BANK0) -> RD (BANK7)과 ACT (BANK7) -> REF (BANK0) -> WR (BANK7)은 서로 다른 테스트 패턴이다. 이는 2번째의 커맨드가 프리차지(PRE)와 리프레시(REF)로 서로 다르기 때문이다.
도 1은 본 발명의 일실시예에 따른 테스트 패턴 발생기(100)의 구성도이다.
도 1을 참조하면, 테스트 패턴 발생기(100)는 랜덤 커맨드 어드레스 발생기(110), 패턴 저장 회로(120), 어드레스 변환기(130), 히스토리 저장 회로(140), 및 제어기(150)를 포함할 수 있다. 테스트 패턴 발생기(100)는 메모리의 테스트를 위한 테스트 장비에 포함되는 것이 일반적이지만, 메모리 콘트롤러(memory controller)에 메모리 테스트를 위한 기능이 구비되는 경우에는 메모리 콘트롤러 내에 포함될 수도 있으며, 메모리에 BIST(Built In Self Test)와 같은 셀프 테스트 기능이 구비되는 경우에는 메모리 내에 포함될 수도 있다.
랜덤 커맨드 어드레스 발생기(110)는 랜덤하게 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 생성할 수 있다. 랜덤 커맨드 어드레스 발생기(110)는 생성 신호(GEN)와 스테이트 업데이트 신호(UPDATE_STATE)에 응답해 동작할 수 있다. 생성 신호(GEN)의 활성화시에 랜덤 커맨드 어드레스 발생기(110)는 현재의 스테이트에서 이슈(issue) 가능한 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 랜덤하게 생성할 수 있다. 스테이트 업데이트 신호(UPDATE_STATE)의 활성화시에 랜덤 커맨드 어드레스 발생기(110)는 자신이 생성한 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 이슈되었다고 스테이트를 업데이트할 수 있다. 도 1에서 커맨드(CMD[T])와 뱅크 어드레스(BA[T])에 병기된 [T]는 랜덤 커맨드 어드레스 발생기(110)가 현재 생성한 커맨드와 뱅크 어드레스임을 나타낼 수 있다.
패턴 저장 회로(120)는 랜덤 커맨드 어드레스 발생기(110)에서 생성되는 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 전달받아 저장할 수 있다. 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])는 패턴 저장 회로(120)에 저장된 바로 이전의 커맨드와 뱅크 어드레스를 나타내며, 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])는 패턴 저장 회로(120)가 더 이전에 저장한 커맨드와 뱅크 어드레스를 나타낼 수 있다. 패턴 저장 회로(120)는 저장 신호(STORE)에 응답해 동작할 수 있다. 패턴 저장 회로(120)는 저장 신호(STORE)가 활성화될 때마다 랜덤 커맨드 어드레스 발생기(110)에서 생성되는 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 전달받아 저장할 수 있다. 저장 신호(STORE)가 3번 활성화될 때마다, 패턴 저장 회로(120)에 저장된 3번의 연속된 커맨드와 뱅크 어드레스의 조합이 이슈 대상, 즉 메모리의 테스트를 위해 메모리에 이슈 할 대상, 으로 분류될 수 있다. 이슈 대상으로 분류된 커맨드와 뱅크 어드레스의 조합은 패턴 저장 회로(120)에 저장될 수도 있으며, 별도의 회로에 저장될 수도 있다.
어드레스 변환기(130)는 3개의 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합을 3차원의 어드레스(ADD[0], ADD[1], ADD[2])로 변환할 수 있다. 어드레스 변환기(130)는 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])를 1축의 어드레스(ADD[0])로 변환하고, 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])를 2축의 어드레스(ADD[1])로 변환하고, 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 3축의 어드레스(ADD[2])로 변환할 수 있다.
어드레스 변환기(130)는 커맨드(CMD)와 뱅크 어드레스(BA) 중 하나라도 다르면 다른 어드레스(ADD)가 생성되도록 어드레스 변환 동작을 수행할 수 있다. 예를 들어, 5가지의 커맨드와 8가지의 뱅크 어드레스의 조합으로는 40가지의 서로 다른 어드레스 조합이 존재할 수 있다. 3차원 어드레스(ADD[0], ADD[1], ADD[2])로 가능한 경우의 수 전체는 40*40*40 = 64000이 될 수 있다.
상세하게, 1축~3축의 어드레스(ADD[0], ADD[1], ADD[2])는 하기와 같은 규칙으로 변환될 수 있다(어드레스를 10진수로 표기할 때).
ACT (i) = 0*8 + i (i는 뱅크 어드레스가 지시하는 뱅크)
WR (i) = 1*8 + i
RD (i) = 2*8 + i
PRE (i) = 3*8 + i
REF (i) = 4*8 + i
예를 들어, 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합이 ACT (BANK1) -> RD (BANK1) -> WR (BANK3)와 같다면, ADD[0] = 0*8+1 = 1, ADD[1] = 2*8+1 = 17, ADD[2] = 1*8+3 = 11이 될 수 있다.
히스토리 저장 회로(140)는 3차원의 어드레스(ADD[0], ADD[1]. ADD[2])를 이용해 억세스되며, 억세스된 영역에는 히트(hit)와 노히트(no hit) 정보를 저장할 수 있다. 여기서 히트는 3차원의 어드레스(ADD[0], ADD[1]. ADD[2])에 대응하는 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들이 이미 테스트되었다는 것을 나타내고, 노 히트는 3차원의 어드레스(ADD[0], ADD[1]. ADD[2])에 대응하는 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들이 아직 테스트되지 않았다는 것을 나타낼 수 있다. 히스토리 저장 회로(140)에서 3차원의 어드레스(ADD[0], ADD[1]. ADD[2])를 이용해 억세스된 영역에는 1비트의 데이터가 저장될 수 있으며, 이 데이터가 '1'의 값을 가지면 히트를 나타내고 '0'의 값을 가지면 노 히트를 나타낼 수 있다. 또한, 히스토리 저장 회로(140)의 억세스 이후에 억세스된 영역의 데이터는 '1'로 라이트될 수 있다.
도 2는 히스토리 저장 회로(140)의 구조를 개념적으로 도시한 도면이다. 히스토리 저장 회로(140)는 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])에 대응하는 1축의 어드레스(ADD[0])에 의해 결정되는 X축, 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])에 대응하는 2축의 어드레스(ADD[1])에 의해 결정되는 Y축, 커맨드(CMD[T])와 뱅크 어드레스(BA[T])에 대응하는 3축의 어드레스(ADD[2])에 의해 결정되는 Z축의 3차원 공간을 포함하는 것으로 이해될 수 있으며, 결정된 X,Y,Z 좌표에 대응하는 영역에 1비트의 데이터가 저장되고 해당 비트가 '1'이면 히트 '0'이면 노 히트를 나타낸다고 이해될 수 있다. 즉, 3차원의 Boolean type의 변수로 히트 이력을 저장한다고 이해될 수 있다. 도 2는 히스토리 저장 회로(140)의 구조를 개념적으로 도시한 것일 뿐이며, 히스토리 저장 회로(140)의 저장 영역들이 실제로 3차원으로 구성되어야 한다는 것은 아니다. 히스토리 저장 회로(140)는 3차원의 어드레스(ADD[0], ADD[1]. ADD[2])에 의해 1비트의 데이터가 억세스되는 구조를 가지기만 한다면 그 어떤 형태로도 구성될 수 있다.
제어기(150)는 생성 신호(GEN), 스테이트 업데이트 신호(UPDATA_STATE) 및 저장 신호(STORE)를 생성해 테스트 패턴 발생기(100)의 동작 전반을 제어할 수 있다.
도 3은 도 1의 테스트 패턴 발생기(100)의 동작의 일실시예를 도시한 도면이다.
도 3을 참조하면, 랜덤 커맨드 어드레스 발생기(110)에 의해 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])가 생성될 수 있다(301). 랜덤 커맨드 어드레스 발생기(110)의 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2]) 생성은 제어기(150)가 생성 신호(GEN)를 활성화하는 것에 응답해 수행될 수 있다. 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])가 생성되면 제어기(150)는 저장 신호(STORE)를 활성화해 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])가 패턴 저장 회로(120)에 저장되도록 제어하고, 스테이트 업데이트 신호(UPDATE_STATE)를 활성화해 랜덤 커맨드 어드레스 발생기(110)가 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])가 이슈된 것으로 스테이트를 업데이트를 하도록 제어할 수 있다.
이어서, 랜덤 커맨드 어드레스 발생기(110)에 의해 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])가 생성될 수 있다(303). 랜덤 커맨드 어드레스 발생기(110)의 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1]) 생성은 제어기(150)가 생성 신호(GEN)를 활성화하는 것에 응답해 수행될 수 있다. 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])가 생성되면 제어기(150)는 저장 신호(STORE)를 활성화해 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])가 패턴 저장 회로(120)에 저장되도록 제어하고, 스테이트 업데이트 신호(UPDATE_STATE)를 활성화해 랜덤 커맨드 어드레스 발생기(110)가 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])가 이슈된 것으로 스테이트를 업데이트를 하도록 제어할 수 있다.
이어서, 랜덤 커맨드 어드레스 발생기(110)에 의해 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 생성될 수 있다(305). 랜덤 커맨드 어드레스 발생기(110)의 커맨드(CMD[T])와 뱅크 어드레스(BA[T])의 생성은 제어기(150)가 생성 신호(GEN)를 활성화하는 것에 응답해 수행될 수 있다.
이어서, 어드레스 변환기(130)에 의해 커맨드(CMD[T-2])와 뱅크 어드레스(BA[T-2])가 1축의 어드레스(ADD[0])로 변환되고, 커맨드(CMD[T-1])와 뱅크 어드레스(BA[T-1])가 2축의 어드레스(ADD[1])로 변환하고, 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 3축의 어드레스(ADD[2])로 변환할 수 있다(307).
어드레스 변환기(130)에 의해 변환된 3차원 어드레스(ADD[0], ADD[1], ADD[2])에 의해 히스토리 저장 회로(140)가 억세스될 수 있다(309).
히스토리 저장 회로(140)에서 3차원 어드레스(ADD[0], ADD[1], ADD[2])에 의해 억세스된 영역에 '1의 데이터가 저장된 경우, 즉 히트인 경우, 에(309에서 HIT) 이미 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들은 테스트되었다는 것을 나타내므로, 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 다시 랜덤 커맨드 어드레스 발생기(110)에 의해 생성될 수 있다(305). 그리고 단계들(307, 309)이 다시 반복될 수 있다. 여기에서는 도시되지 않았지만, 히트인 경우라도 스테더스 상 현재 생성된 커맨드(CMD[T])와 뱅크 어드레스(BA[T]) 이외에 인가 가능한 커맨드와 뱅크 어드레스가 존재하지 않는 경우에는 단계들(305, 307, 309)이 반복되지 않고 단계(311)가 진행될 수도 있다.
히스토리 저장 회로(140)에서 3차원 어드레스(ADD[0], ADD[1], ADD[2])에 의해 억세스된 영역에 '0의 데이터가 저장된 경우, 즉 노 히트인 경우, 에(309에서 NO HIT), 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들은 아직 테스트되지 않았다는 것을 나타내므로, 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들이 이슈 대상으로 분류될 수 있다(311). 이는 제어기(150)가 저장 신호(STORE)를 활성화하고, 이에 응답해 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 패턴 저장회로(120)에 저장되는 것과 동시에 패턴 저장 회로가 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합들을 이슈 대상으로 분류하는 것에 의해 수행될 수 있다(저장 신호(STORE)가 3번째 활성화되므로 커맨드와 뱅크 어드레스의 조합들이 이슈 대상으로 분류될 수 있음). 또한, 제어기(150)는 스테이트 업데이트 신호(UPDATA_STATE)를 활성화해 랜덤 커맨드 어드레스 발생기(110)가 커맨드(CMD[T])와 뱅크 어드레스(BA[T])가 이슈된 것으로 스테이트를 업데이트하도록 제어할 수 있다.
이상에서 살펴본 바와 같이, 테스트 패턴 발생기(100)는 랜덤 커맨드 어드레스 발생기(110)에서 생성된 3개의 연속된 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합이 이미 테스트되었는지의 이력을 확인하고, 히트인 경우에는 3번째의 커맨드(CMD[T])와 뱅크 어드레스(BA[T])를 다시 생성하고, 노 히트인 경우에는 3개의 연속된 커맨드(CMD[T-2], CMD[T-1], CMD[T])와 뱅크 어드레스(BA[T-2], BA[T-1], BA[T])의 조합을 이슈 대상(테스트 대상)으로 분류할 수 있다. 이러한 동작에 의해 동일한 테스트 패턴이 중복적으로 테스트되는 것을 막아 테스트의 효율성을 높일 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
특히, 상기한 실시예들에서는 설명의 편의를 위해 메모리에서 사용되는 커맨드의 종류가 5가지이고 메모리에 포함된 뱅크의 개수가 8개라고 예시했지만, 실제의 메모리에서 사용되는 커맨드의 종류 및 메모리에 포함된 뱅크의 개수가 상기 예시보다 훨씬 많을 수도 있음은 당연하다.
100: 테스트 패턴 발생기
110: 랜덤 커맨드 어드레스 발생기
120: 패턴 저장 회로
130: 어드레스 변환기
140: 히스토리 저장 회로
150: 제어기

Claims (15)

  1. 랜덤 커맨드 어드레스 발생기;
    상기 랜덤 커맨드 어드레스 발생기에서 생성된 N개(N은 2이상의 정수)의 커맨드 어드레스 조합을 N차원의 어드레스로 변환하는 어드레스 변환기;
    상기 N차원의 어드레스를 이용해 억세스되는 히스토리 저장 회로; 및
    상기 히스토리 저장 회로에서 상기 N차원의 어드레스를 이용해 억세스된 영역의 값이 노 히트를 나타내는 경우에, 상기 N개 커맨드 어드레스 조합을 이슈 대상으로 분류하는 제어기
    를 포함하는 테스트 패턴 발생기.
  2. 제 1항에 있어서,
    상기 제어기는
    상기 히스토리 저장 회로에서 상기 N차원의 어드레스를 이용해 억세스된 영역의 값이 히트를 나타내는 경우에, 상기 N개 커맨드 어드레스 조합이 변경될 수 있도록 상기 랜덤 커맨드 어드레스 발생기를 제어하는
    테스트 패턴 발생기.
  3. 제 1항에 있어서,
    상기 어드레스는 뱅크 어드레스를 포함하는
    테스트 패턴 발생기.
  4. 제 3항에 있어서,
    상기 N차원의 어드레스는 N개의 좌표를 포함하고,
    상기 어드레스 변환기는
    상기 N개의 커맨드 어드레스 조합 각각을 상기 N개의 좌표 중 하나로 변환하는
    테스트 패턴 발생기.
  5. 제 4항에 있어서,
    상기 어드레스 변환기는 커맨드의 종류 및 뱅크 어드레스 중 하나 이상이 다르면 좌표가 달라지도록 상기 변환 동작을 수행하는
    테스트 패턴 발생기.
  6. 제 1항에 있어서,
    상기 히스토리 저장 회로에서 상기 N차원의 어드레스를 이용해 억세스되는 영역에는 1비트의 데이터가 저장되고,
    상기 1비트의 데이터의 논리값이 히트와 노 히트 중 하나를 나타내는
    테스트 패턴 발생기.
  7. 랜덤 커맨드 어드레스 발생기;
    상기 랜덤 커맨드 어드레스 발생기에서 생성된 커맨드와 뱅크 어드레스 조합을 저장하기 위한 패턴 저장 회로;
    상기 랜덤 커맨드 어드레스 발생기에서 발생된 제1 커맨드와 뱅크 어드레스의 조합을 제1축 어드레스로 변환하고, 상기 랜덤 커맨드 어드레스 발생기에서 발생된 제2 커맨드와 뱅크 어드레스의 조합을 제2축 어드레스로 변환하고, 상기 랜덤 커맨드 어드레스 발생기에서 발생된 제3 커맨드와 뱅크 어드레스의 조합을 제3축 어드레스로 변환하는 어드레스 변환기;
    상기 제1 내지 제3축 어드레스에 의해 억세스되는 히스토리 저장 회로; 및
    상기 히스토리 저장 회로에서 상기 제1 내지 제3축 어드레스를 이용해 억세스된 영역의 값이 노 히트를 나타내는 경우에, 상기 제1 내지 제3 커맨드와 어드레스의 조합이 이슈 대상으로서 상기 패턴 저장 회로에 저장되도록 제어하는 제어기
    를 포함하는 테스트 패턴 발생기.
  8. 제 7항에 있어서,
    상기 제어기는
    상기 히스토리 저장 회로에서 상기 제1 내지 제3축 어드레스를 이용해 억세스된 영역의 값이 히트를 나타내는 경우에, 상기 제1 내지 제3 커맨드와 어드레스의 조합이 변경될 수 있도록 상기 랜덤 커맨드 어드레스 발생기를 제어하는
    테스트 패턴 발생기.
  9. 제 8항에 있어서,
    상기 제어기는
    상기 제1 내지 제3 커맨드와 어드레스의 조합이 변경될 수 있도록하기 위해 상기 랜덤 커맨드 어드레스 발생기가 상기 제3 커맨드와 어드레스의 조합을 다시 생성하도록 제어하는
    테스트 패턴 발생기.
  10. 제 7항에 있어서,
    상기 어드레스 변환기는 커맨드의 종류 및 뱅크 어드레스 중 하나 이상이 다르면 좌표가 달라지도록 상기 변환 동작을 수행하는
    테스트 패턴 발생기.
  11. 제 7항에 있어서,
    상기 히스토리 저장 회로에서 상기 제1 내지 제3축 어드레스에 의해 억세스되는 영역에는 1비트의 데이터가 저장되고,
    상기 1비트의 데이터의 논리값이 히트와 노 히트 중 하나를 나타내는
    테스트 패턴 발생기.
  12. 랜덤하게 N개의 커맨드와 뱅크 어드레스의 조합을 생성하는 단계;
    상기 N개의 커맨드와 뱅크 어드레스의 조합을 N 차원의 어드레스로 변환하는 단계;
    상기 N 차원의 어드레스를 이용해 히스토리 저장 회로를 억세스해 히트 여부를 확인하는 단계; 및
    상기 확인하는 단계에서 노 히트를 확인하는 것에 응답해 상기 N개의 커맨드와 뱅크 어드레스의 조합을 이슈 대상으로 분류하는 단계
    를 포함하는 테스트 패턴 발생 방법.
  13. 제 12항에 있어서,
    상기 분류하는 단계 이후에,
    랜덤하게 N개의 커맨드와 뱅크 어드레스의 새로운 조합을 생성하는 단계;
    상기 N개의 새로운 커맨드와 뱅크 어드레스의 조합을 새로운 N 차원의 어드레스로 변환하는 단계;
    상기 새로운 N 차원의 어드레스를 이용해 상기 히스토리 저장 회로를 억세스해 히트 여부를 확인하는 단계; 및
    상기 확인하는 단계에서 히트를 확인하는 것에 응답해 상기 N개의 새로운 커맨드와 뱅크 어드레스의 조합을 변경하는 단계
    를 포함하는 테스트 패턴 발생 방법.
  14. 랜덤하게 N개의 커맨드와 뱅크 어드레스의 조합을 생성하는 단계;
    상기 N개의 커맨드와 뱅크 어드레스의 조합을 N 차원의 어드레스로 변환하는 단계;
    상기 N 차원의 어드레스를 이용해 히스토리 저장 회로를 억세스해 히트 여부를 확인하는 단계; 및
    상기 확인하는 단계에서 히트를 확인하는 것에 응답해 상기 N개의 커맨드와 뱅크 어드레스의 조합을 변경하는 단계
    를 포함하는 테스트 패턴 발생 방법.
  15. 제 14항에 있어서,
    상기 변경하는 단계는
    N개의 커맨드와 뱅크 어드레스의 조합 중 하나의 커맨드와 뱅크 어드레스의 조합을 랜덤하게 다시 생성하는 단계를 포함하는
    테스트 패턴 발생 방법.
KR1020190045103A 2019-04-17 2019-04-17 테스트 패턴 발생기 및 테스트 패턴 발생 방법 KR20200122176A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190045103A KR20200122176A (ko) 2019-04-17 2019-04-17 테스트 패턴 발생기 및 테스트 패턴 발생 방법
CN201911308484.5A CN111833955A (zh) 2019-04-17 2019-12-18 测试图案发生器以及用于产生测试图案的方法
US16/725,699 US11264114B2 (en) 2019-04-17 2019-12-23 Test pattern generator and method for generating test pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190045103A KR20200122176A (ko) 2019-04-17 2019-04-17 테스트 패턴 발생기 및 테스트 패턴 발생 방법

Publications (1)

Publication Number Publication Date
KR20200122176A true KR20200122176A (ko) 2020-10-27

Family

ID=72832846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190045103A KR20200122176A (ko) 2019-04-17 2019-04-17 테스트 패턴 발생기 및 테스트 패턴 발생 방법

Country Status (3)

Country Link
US (1) US11264114B2 (ko)
KR (1) KR20200122176A (ko)
CN (1) CN111833955A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448891B (zh) * 2020-03-25 2023-07-21 澜起科技股份有限公司 存储器控制器以及用于监测对存储模块的访问的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729554A (en) 1996-10-01 1998-03-17 Hewlett-Packard Co. Speculative execution of test patterns in a random test generator
JP4181694B2 (ja) 1999-07-07 2008-11-19 株式会社アドバンテスト メモリ試験装置
US8200902B2 (en) * 2010-06-10 2012-06-12 Arm Limited Cache device for coupling to a memory device and a method of operation of such a cache device
KR20160068369A (ko) * 2014-12-05 2016-06-15 에스케이하이닉스 주식회사 패리티 체크 회로 및 이를 포함하는 메모리 장치
JP2016122485A (ja) * 2014-12-24 2016-07-07 富士通株式会社 情報記録プログラム、情報記録方法、および情報記録装置
US10691610B2 (en) * 2017-09-27 2020-06-23 Apple Inc. System control using sparse data
KR102518884B1 (ko) * 2017-12-20 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20200335174A1 (en) 2020-10-22
CN111833955A (zh) 2020-10-27
US11264114B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN100550191C (zh) 通用可访问完全可编程的存储器内置自测***和方法
US20210011629A1 (en) Memory device
RU2336581C2 (ru) Архитектура встроенного самотестирования запоминающего устройства, имеющая распределенное интерпретирование команд и обобщенный протокол команд
US11281832B2 (en) Device for generating verification vector for circuit design verification, circuit design system, and reinforcement learning method of the device and the circuit design system
JP2915945B2 (ja) メモリ試験装置
CN107250986A (zh) 数据分条、分配和重构
US10777294B2 (en) DRAM-level error injection and tracking
CN114267390A (zh) 用于处理行锤刷新操作的存储器设备及其操作方法
KR20200122176A (ko) 테스트 패턴 발생기 및 테스트 패턴 발생 방법
JP2002216496A (ja) 半導体メモリ装置
CN102508726A (zh) 内存参数配置方法、处理器及设备
US20130117617A1 (en) Semiconductor test device and method of generating address scramble using the same
US5787038A (en) Flash memory device
JPS6141028B2 (ko)
US7124336B2 (en) Method for the defect analysis of memory modules
CN113568782B (zh) 作战装备体系动态恢复方法、电子设备及存储介质
KR100712505B1 (ko) 메모리 어드레스 생성회로 및 이를 구비하는 메모리 콘트롤러
CN103295645B (zh) 一种动态存储器的扫描检测方法及***
US20190042404A1 (en) Allocating shared memory blocks to table entries to store in a memory device
US6356988B1 (en) Memory access system, address converter, and address conversion method capable of reducing a memory access time
US11669773B2 (en) Electronic devices generating verification vector for verifying semiconductor circuit and methods of operating the same
KR20230037992A (ko) 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법
US5706293A (en) Method of testing single-order address memory
KR102419338B1 (ko) 스파이킹 신경망 학습 장치 및 방법
CN116860184B (zh) 磁盘读写加速方法、装置、阵列卡、服务器、设备和介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal