KR20240106096A - 인터리브 방식을 이용한 메모리 스크램블 방법 및 장치 - Google Patents

인터리브 방식을 이용한 메모리 스크램블 방법 및 장치 Download PDF

Info

Publication number
KR20240106096A
KR20240106096A KR1020220188722A KR20220188722A KR20240106096A KR 20240106096 A KR20240106096 A KR 20240106096A KR 1020220188722 A KR1020220188722 A KR 1020220188722A KR 20220188722 A KR20220188722 A KR 20220188722A KR 20240106096 A KR20240106096 A KR 20240106096A
Authority
KR
South Korea
Prior art keywords
dram
scrambling
time
data
memory
Prior art date
Application number
KR1020220188722A
Other languages
English (en)
Inventor
이승용
권해민
Original Assignee
주식회사 와이씨
Filing date
Publication date
Application filed by 주식회사 와이씨 filed Critical 주식회사 와이씨
Publication of KR20240106096A publication Critical patent/KR20240106096A/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/52Protection of memory contents; Detection of errors in memory contents

Abstract

인터리브 방식을 이용한 메모리 스크램블 방법 및 그 장치가 제공된다. 본 개시의 몇몇 실시예에 따른 제1 디램(DRAM), 제2 디램 및 제3 디램을 포함하는 디바이스 테스트 장치에 의해 수행되는 방법에 있어서, 기 지정된 주기 내의 제1 시간 동안 상기 제1 디램의 리프레시를 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링(Scrambling) 동작을 수행하는 단계, 상기 기 지정된 주기 내의 제2 시간 동안 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 단계, 상기 기 지정된 주기 내의 제3 시간 동안 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 단계 및 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 단계를 포함할 수 있다.

Description

인터리브 방식을 이용한 메모리 스크램블 방법 및 장치{METHOD OF MEMORY SCRAMBLING USING INTERLEAVING AND APPARATUS THEREOF}
본 개시는 인터리브 방식을 이용한 메모리 스크램블 방법 및 그 방법이 적용된 장치에 관한 것이다. 보다 자세하게는, 반도체 디바이스 테스트에 이어서, 인터리브 방식을 이용하여 페일 메모리를 스크램블하는 방법 및 그 방법이 적용된 반도체 디바이스 테스트 장치에 관한 것이다.
반도체 디바이스 테스트 장치는 자동 테스트 장치(Automatic Test Equipment, ATE)로도 지칭되며, 반도체 디바이스에 전기적 패턴 신호를 인가하고 그에 대한 응답을 분석하여 반도체 디바이스의 양품 여부를 검증하는 장치이다.
반도체 디바이스 테스트 장치는 내부 하드웨어 구성요소로서 전원공급장치, 계측기, 알고리즘 패턴 발생기(Algorithmic Pattern Generator, ALPG), 타이밍 생성기(Timing Generator, TG), 드라이버 및 비교기가 내장된 핀 일렉트로닉스(Pin Electronics, PE), 및 이들을 제어하기 위한 중앙처리장치인 CPU 등을 포함한다.
반도체 디바이스 테스트 장치는 반도체 디바이스에 대해 테스트를 실시한 후 테스트 결과로부터 생성되는 페일(Fail) 데이터를 페일 메모리(Fail Memory, FM)에 순차적으로 저장하고, 페일 메모리(FM)에 저장된 페일 데이터를 버퍼 메모리(Buffer Memory, BM)로 복제하여, 페일 데이터에 대한 리던던시 분석 작업(Redundancy Analysis, RA)을 통해 반도체 디바이스의 셀 중 어느 부분에서 결함이 발생했는지 분석한다.
반도체 디바이스 테스트시, 알고리즘 패턴 발생기는 SDR(Single Data Rate) 메모리을 이용하여 스크램블 로직을 구현하여 반도체 디바이스의 테스트를 진행하는 것이 일반적이다.
그러나, 입력되는 비트 수가 늘어남에 스크램블 시 필요한 용량이 증대되고, 용량을 수용할 수 있는 SDR 메모리의 단가가 늘어나게 되는 비용적인 문제점이 발생한다. 또한 SDR 메모리를 사용하지 않고 DDR(Double Data Rate) 메모리를 사용하는 경우 레이턴시가 길어지고, 리프레시가 필요하게 되는 문제점이 발생한다.
따라서, SDR 메모리를 대체하여 비용적인 문제점을 해결하고, 레이턴시 없이 스크램블 기능을 구현할 수 있는 기술이 요구된다.
한국공개특허 제10-2007-0107415호 (2007.11.07.)
본 개시가 해결하고자 하는 기술적 과제는, DDR 메모리를 이용하여 반도체 디바이스 테스트를 위한 스크램블 기능을 구현하는 방법 및 장치를 제공하는 것이다.
본 개시가 해결하고자 하는 다른 기술적 과제는, DDR 메모리를 이용하여 반도체 디바이스 테스트 장치의 스크램블 기능을 구현함에 있어서, 레이턴시 없이 스크램블 기능을 구현하는 방법 및 장치를 제공하는 것이다.
본 개시가 해결하고자 하는 또 다른 기술적 과제는, 반도체 디바이스 테스트 장치의 스크램블 기능을 구현함에 있어서 메모리 필요 용량 증대에 따른 비용을 최소화하는 방법 및 장치를 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 일 실시예에 따른 인터리브 방식을 이용한 메모리 스크램블 방법은, 제1 디램(DRAM), 제2 디램 및 제3 디램을 포함하는 디바이스 테스트 장치에 의해 수행되는 방법에 있어서, 기 지정된 주기 내의 제1 시간 동안 상기 제1 디램의 리프레시를 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링(Scrambling) 동작을 수행하는 단계, 상기 기 지정된 주기 내의 제2 시간 동안 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 단계, 상기 기 지정된 주기 내의 제3 시간 동안 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 단계 및 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 단계를 포함할 수 있으며, 상기 제1 시간,상기 제2 시간 및 상기 제3 시간의 합은 상기 기 지정된 주기일 수 있다.
몇몇 실시예에서, 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링 동작을 수행하는 단계는, 상기 제2 디램 및 상기 제3 디램 간 제1 뱅크 인터리브를 수행하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 단계는, 상기 제1 디램 및 상기 제3 디램 간 제2 뱅크 인터리브를 수행하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 단계는, 상기 제1 디램 및 상기 제2 디램 간 제3 뱅크 인터리브를 수행하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 기 지정된 주기는 7.8μs 일 수 있다.
몇몇 실시예에서, 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 단계는, 상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 엑세스 순서에 따라 FIFO 큐(First In First Out Queue)에 격납하는 단계 및 상기 격납된 상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 상기 엑세스 순서에 따라 읽는 단계를 포함할 수 있고, 상기 제1 시간,상기 제2 시간 및 상기 제3 시간의 합은 상기 기 지정된 주기일 수 있다.
본 개시의 다른 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 장치는, 복수의 디램 및 데이터 프로세서 직접 회로를 포함하되, 상기 데이터 프로세서 직접 회로는, 기 지정된 주기 내의 제1 시간 동안 상기 복수의 디램 중 제1 디램의 리프레시 동작을 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램 간의메모리 인터리브를 수행하며, 상기 제1 시간 동안 제1 스크램블링(Scrambling)을 수행하고, 상기 기 지정된 주기 내의 제2 시간 동안 상기 복수의 디램 중 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램 간의 메모리 인터리브를 수행하며, 상기 제2 시간 동안 제2 스크램블링을 수행하며, 상기 기 지정된 주기 내의 제3 시간 동안 상기 복수의 디램 중 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램 간의 메모리 인터리브를 수행하며, 상기 제3 시간 동안 제3 스크램블링을 수행하고, 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하되, 상기 제1 디램, 상기 제2 디램 및 상기 제3 디램 각각은 상기 데이터 프로세서 직접 회로에 연결될 수 있다. 여기서, 상기 데이터 프로세서 직접 회로는 FPGA(Field Programmable Gate Array)일 수 있다. 또한 여기서, 상기 제1 디램, 상기 제2 디램 및 상기 제3 디램은 DDR4(double data rate 4th generation) 메모리일 수 있다.
도 1은 본 개시의 일 실시예에 따른, 반도체 디바이스 테스트 장치를 설명하기 위한 구성도이다.
도 2은 본 개시의 몇몇 실시예에 따른, 메모리 스크램블 방법을 설명하기 위한 예시적인 도면이다.
도 3은 본 개시의 다른 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 방법을 설명하기 위한 순서도이다.
도 4는 도 3을 참조하여 설명한 스크램블 데이터 갱신 방법을 구체적으로 설명하기 위한 상세 순서도이다.
도 5는 본 개시의 몇몇 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 방법 설명하기 위한 예시적인 도면이다.
도 6 내지 도 9는 본 개시의 몇몇 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 기능의 구체적인 구현 방법을 설명하기 위한 예시적인 도면이다.
도 10은 본 개시의 몇몇 실시예들에 따른 컴퓨팅 시스템의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 도면들을 참조하여 본 개시의 몇몇 실시예들을 설명한다.
도 1은 본 개시의 일 실시예에 따른, 반도체 디바이스 테스트 장치(반도체 테스트 장치)(10)의 구성도이다.
도 1을 참조하면, 반도체 디바이스 테스트 장치(10)는 FPGA(11), 제1 디램(DRAM), 제2 디램 및 제3 디램을 포함할 수 있다. 여기서, 디램의 수는 이에 한정하지 않으며, 반도체 디바이스 테스트 장치(10)는 복수의 디램을 포함할 수 있다. 여기서, 디램은 페일 메모리 블록(미도시) 또는 버퍼 메모리 블록(미도시)을 구성할 수 있다. 또한, 본 개시의 FPGA는 반드시 이에 한정되지 않으며, 기 공지된 다양한 데이터 프로세서 직접 회로일 수 있다.
도시된 구성 외에도, 반도체 디바이스 테스트 장치(10)는 테스트 대상인 반도체 디바이스(DUT)(20)에 대해 테스트 신호를 생성 및 인가하기 위한 구성으로 예컨대, ALPG(Algorithmic Pattern Generator)(미도시), 타이밍 생성기(미도시), 및 핀 일렉트로닉스(Pin Electronics)(미도시)를 더 포함하고, 반도체 디바이스 (DUT)(20)의 테스트 결과로부터 결함을 추출하는 리던던시 분석(Redundancy Analysis, RA)을 수행하기 위한 구성으로 예컨대 테스트 분석 모듈(미도시)을 더 포함할 수 있다.
페일 메모리 블록은 반도체 디바이스(20)에 테스트 신호를 인가하여 수신되는 테스트 결과로부터 생성되는 페일(Fail) 데이터가 저장된다. 페일 메모리 블록은 지연 시간 없이 페일 데이터를 고속으로 쓰기(WRITE) 위해, 복수의 디램에 교대 패턴으로 분산 저장하는 인터리브(interleave) 방식으로 페일 데이터를 저장할 수 있다.
버퍼 메모리 블록은 페일 메모리 블록에 저장된 페일 데이터가 복제되어 저장될 수 있다.
FPGA(11)는 알고리즘 패턴 발생기를 포함할 수 있다. 또는, FPGA(11)는 알고리즘 패턴 발생기의 기능을 수행할 수 있다.
알고리즘 패턴 발생기는 스크램블 로직(logic)의 기능을 수행할 수 있다. 스크램블 로직은 입력된 패턴을 랜덤하게 1 대 1 로 스크램블하여 동일한 길이의 완전히 다른 내용의 데이터를 출력하는 기능이다.
일 실시예에 따르면, 스크램블 로직은 입력된 어드레스에 기록된 데이터를 어드레스로 다시 쓰는 데이터 변환 로직일 수 있다.
일 실시예에 따르면, 스크램블 로직의 기능을 수행하기 위한 스크램블 메모리로써 반도체 디바이스 테스트 장치(10)에 포함된 디램이 활용될 수 있다. 그러나, 디램은 레이턴시(latency), 즉 리프레시 타임이 필수적으로 요구된다. 예를 들어, DDR4 램의 경우, 7.8 μs 마다 리프레시가 필요할 수 있다. 이하 설명할 인터리브 방식을 이용한 메모리 스크램블 방법을 활용하는 경우, 디램을 사용함에 불구하고 레이턴시 없이 스크램블 기능을 구현할 수 있다. 또한, SRAM 보다 범용성이 높은 디램(DDR4 램)으로 대체될 경우, 제작 단가 및 부품 수급에도 용이할 수 있다.
도 2는 본 개시의 몇몇 실시예에 따른, 메모리 스크램블 방법을 설명하기 위한 예시적인 도면이다.
도 2를 참조하면, 알고리즘 패턴 발생기(31)로부터 알고리즘 패턴 신호가 발생될 수 있으며, 알고리즘 패턴 신호가 24비트인 경우, 스크램블 메모리가 DDR4 메모리로 구성될 수 있다(32,33). 알고리즘 패턴 신호는 스크램블 메모리를 거치며 스크램블될 수 있다.
도 1에 도시된 반도체 디바이스 테스트 장치(10)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 가령, FPGA(11)와 타이밍 생성기(미도시) 중 적어도 일부는 하나의 물리적 컴퓨팅 장치 내에서 서로 다른 로직의 형태로 구현될 수 있다.
또한, 실제 물리적 환경에서 상기 각각의 구성 요소들은 복수의 세부 기능 요소로 분리되는 형태로 구현될 수도 있다. 예컨대, 반도체 디바이스 테스트 장치(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다.
지금까지 도 1을 참조하여 본 개시의 일 실시예에 따른 반도체 디바이스 테스트 장치(10)에 대하여 설명하였다. 이하에서는, 본 개시의 다양한 실시예들에 따른 메모리 페일 카운트 방법에 대하여 상세하게 설명하도록 한다. 이해의 편의를 제공하기 위해, 도 1에 도시된 환경을 가정하여 상기 방법에 대한 설명을 이어갈 것이나, 당해 기술분야의 당업자라면 인터리브 방식을 이용한 메모리 스크램블 방법이 제공되는 환경은 얼마든지 변형될 수 있음을 자명하게 이해할 수 있을 것이다.
이하에서 후술될 방법들의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 상기 방법들의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 상기 방법들에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 즉, 상기 방법의 각 단계들은 컴퓨팅 시스템에 의하여 수행될 수 있다. 이하에서는, 다른 언급이 없는 한, 상기 방법의 각 단계가 반도체 디바이스 테스트 장치(10)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 다만, 설명의 편의를 위해, 상기 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 후술될 방법들은 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.
도 3은 본 개시의 다른 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, S10 단계에서, 기 지정된 주기 내의 제1 시간 동안 상기 제1 디램의 리프레시가 수행되고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링(Scrambling) 동작이 수행될 수 있다.
일 실시예에 따르면, 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링은 상기 제2 디램 및 상기 제3 디램 간 제1 뱅크 인터리브 방식으로 수행될 수 있다..
S20 단계에서, 상기 기 지정된 주기 내의 제2 시간 동안 제2 디램이 리프레시 동작이 수행되고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작이 수행될 수 있다.
일 실시예에 따르면, 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링은 상기 제1 디램 및 상기 제3 디램 간 제2 뱅크 인터리브 방식으로 수행될 수 있다..
S30 단계에서, 상기 기 지정된 주기 내의 제3 시간 동안 제3 디램이 리프레시 동작이 수행되고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작이 수행될 수 있다.
일 실시예에 따르면, 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링은 상기 제1 디램 및 상기 제2 디램 간 제3 뱅크 인터리브 방식으로 수행될 수 있다..
S40 단계에서, 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터가 연속된 스크램블 데이터로 갱신될 수 있다.
여기서, 제1 시간, 제2 시간 및 제3 시간은 각각이 연속된 시간이며, 또한 기 지정된 주기는 제1 시간 내지 제3 시간의 합일 수 있다. 또한 제1 시간, 제2 시간 및 제3 시간은 각각 시간 간격을 달리할 수 있다.
예를들어, DDR4 램을 기준으로, 기 지정된 주기는 7.8μs일 수 있으며, 따라서, 제1 시간은 0초 내지 2.6μs 까지의 시간이며, 제2 시간은 2.6μs 내지 5.2μs까지의 시간이며, 제3 시간은 5.2μs 내지 7.8μs까지의 시간일 수 있다.
또한, 제1 디램, 제2 디램 및 제3 디램은 모두 동일한 종류의 디램일 수 있다. 예를들어, 제1 디램 내지 제3 디램은 DDR4 램일 수 있다.
도 4는 도 3을 참조하여 설명한 스크램블 데이터 갱신 방법을 구체적으로 설명하기 위한 상세 순서도이다.
도 4를 참조하면, S41 단계에서 상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터가 엑세스(access) 순서에 따라 FIFO 큐(First In First Out Queue)에 격납될 수 있다.
S42 단계에서, 상기 격납된 제1 데이터, 제2 데이터 및 제3 데이터가 상기 엑세스 순서에 따라 읽어질 수 있다.
상술한 실시예들에 따르면, 복수의 디램 메모리를 이용하여 인터리브 방식으로 스크램블링 기능을 구현함으로써 디램 메모리의 리프레시 주기에 불구하고 레이턴시 없이 데이터를 연속적으로 읽는 동작이 수행될 수 있다.
도 5는 본 개시의 몇몇 실시예에 따른 인터리브 방식을 이용한 메모리 스크램블 방법을 설명하기 위한 예시적인 도면이다.
도 5를 참조하면, 예시적인 인터리브 방식을 이용한 메모리 스크램블의 구조도(40)가 도시된다. 여기서, 제1 디램(DDR4_0)에 대한 메모리 스크램블 구조(41), 제2 디램(DDR4_1)에 대한 메모리 스크램블 구조(42) 및 제3 디램(DDR4_2)에 대한 메모리 스크램블 구조(43) 및 기 지정된 순서에 따라 리드 데이터(Read data)가 FIFO 큐(First In First Out Queue)에 격납되고, FIFO 큐의 리드 데이터를 순서대로 읽어 Rate에 따른 연속된 Real Time Scramble Data로 갱신되는 Total Access 구조도(44)가 도시된다.
여기서, 디램의 리드 레이턴시(Read Latency)의 문제점을 해결하기 위해 메모리 내의 뱅크 인터리브(Bank Interleave) 및 메모리 간의 인터리브 동작이 구현된다. 즉, 2중으로 메모리 인터리브가 수행될 수 있다. 3.0ns rate의 연속 24비트 리드 데이터를 갱신하기 위해 제1 디램 내지 제3 디램의 3개의 메모리가 사용되며, 디램이 DDR4 램인 경우 리프레시가 필수적으로 요구되므로, DDR4의 리프레시 요구 조건인 7.8μs 주기 내에서 시간이 3분할 되어 상시 2개의 메모리가 항상 동작하고 있도록 구성될 수 있다.
예를들어, 제1 디램이 리프레시 동작을 수행하는 경우, 제2 디램 및 제3 디램은 뱅크 인터리브 및 메모리 간 인터리브 방식을 이용하여 스크램블링을 수행할 수 있다.
도 6 내지 도 9는 본 개시의 몇몇 실시예에 따른, 인터리브 방식을 이용한 메모리 스크램블 기능의 구체적인 구현 방법을 설명하기 위한 예시적인 도면이다.
도 6을 참조하면, 먼저 디램 제어를 위한 FPGA(50)의 구성도가 도시된다.
디램 제어를 위한 FPGA(50)는 리프레시/인터리브 컨트롤러(51) 및 로딩 컨트롤러(52)를 포함할 수 있다. 또한 제1 디램(61), 제2 디램(62) 및 제3 디램(63)은 FPGA(50)와 External Memory I/F(71~73)를 통하여 연결될 수 있다.
도 7을 참조하면, 리프레시/인터리브 컨트롤러(51)의 리프레시 타이머(Refresh_Timer)(51a) 및 리프레시 DDR 컨트롤러(Refresh_DDR_CTRL)(51b)의 구조도가 도시된다.
리프레시 타이머(51a)는 디램의 기 지정된 주기, 예를들어 7.8μs를 기준으로 3등분하여 0~2599 카운트 신호를 리프레시 DDR 컨트롤러(51b)로 전송하고, 리프레시 DDR 컨트롤러(51b)는 외부 메모리 인터페이스(EMIF, External Memory Interface)(71a, 72a, 73a)를 제어함으로써 각각의 디램의 동작 상태를 변경할 수 있다.
예를들어, DDR4 램의 요구 조건의 7.8us주기 내에서 해당 주기를 3분할하여 상시 2개의 메모리가 동작하도록 할 수 있다.
일 실시예에 따르면, 리프레시 타이머(51a)는 DDR CNT 기준으로 리프레시 제어 신호(Refresh EN)를 생성할 수 있다.
일 실시예에 따르면, DDR CNT 기준, 리프레시 제어신호인 EN 신호에 따라 DDR 모듈이 억세스 또는 리프레시 상태로 제어될 수 있다.
도 8을 참조하면, 예시적인 Write Access 컨트롤러(52a)의 구조도가 도시된다. 여기서, Write Access 컨트롤러(52a)는 예시적인 로딩 컨트롤러(52)일 수 있다.
일 실시예에 따르면, 인터리브 관계의 메모리 영역의 스크램블 데이터 로드 처리는 FPGA 내부 처리에서 한개의 영역에 Load를 하면 모든 인터리브 관계에 있는 데이터가 쓰기될 수 있도록 처리하여 인터리브 방향에 대한 로딩 시간 증가를 억제할 수 있다.
일 실시예에 따르면, 뱅크 인터리브를 하기 위해, Write_EN(1 pulse)마다 동일한 데이터로 10 뱅크의 Write Request를 외부 메모리 인터페이스에 전송하는 기능을 가진다. 또한 W_CNT Value에 따라 10 뱅크에 해당하는 뱅크 그룹(Bank Group) 및 뱅크 애드(Bank Add)가 선택되고 DDR_SEL 모듈에 연결될 수 있다.
상술한 실시예들에 따르면, 예를들어 0,1 및 2번 뱅크에 있는 데이터가 동일해야 인터리브시 같은 데이터를 쓸 수 있으며, 로딩시에도 0번 뱅크 내지 15번 뱅크까지의 데이터가 하나의 구조로 식별되게 된다. 실질적으로 반도체 디바이스 테스트 장치(10)는 하나의 어드레스에만 Write_EN 신호가 전송되고 그 전송된 신호(1 pulse)를 수신하고 반도체 디바이스 테스트 장치(10)는 기 지정된 인터리브 수의 뱅크에 연속으로 로딩할 수 있다.
도 9를 참조하면, 뱅크 인터리브를 설명하기 위한 타이밍도(81) 및 어드레스 표(82)가 도시된다.
뱅크 인터리브를 하기 위해서 각 뱅크에 동일한 데이터를 쓰는 것이 필요하며, 로딩 시간을 최소화하기 위해 디램를 제어하는 FPGA에서 인터리브에 필요한 뱅크수 만큼 Write Acceess 신호를 생성하여 한번의 호스트 쓰기(HOST Write) 동작을 통하여 사용될 뱅크에 동일한 데이터를 쓰도록 할 수 있다.
또한 DDR4 램은 기본 8burst 동작으로 8 I/O(Input/Output) 제품을 사용시 한번의 엑세스를 통해 64비트의 데이터를 취득할 수 있다.
본 개시의 몇몇 실시예에 따라 구현되어야하는 스크램블 비트는 24비트이므로, 64비트의 데이터 중 필요한 부분만 사용하며 짝수 논리 어드레스(EVEN) 및 홀수 논리 어드레스(ODD)로 분할하여 최하위 어드레스를 대체할 수 있다. Burst Access로 로딩할 경우 2개 어드레스 분에 대하여 동시에 쓰기 동작을 수행할 수 있도록 제어할 수 있다.
도 10은 본 개시의 몇몇 실시예들에 따른 컴퓨팅 시스템의 하드웨어 구성도이다. 도 10에 도시된 컴퓨팅 시스템(1000)은, 예를 들어 도 1을 참조하여 설명한 반도체 디바이스 테스트 장치(10)를 포함하는 컴퓨팅 시스템을 가리키는 것일 수 있으며, 고객 관심도 도출 시스템(200)을 포함하는 컴퓨팅 시스템을 가리키는 것일 수 있다. 컴퓨팅 시스템(1000)은 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.
프로세서(1100)는 컴퓨팅 시스템(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 개시의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다. 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다. 통신 인터페이스(1200)는 컴퓨팅 시스템(1000)의 인터넷 통신을 지원한다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 컴퓨터 프로그램(1500)은 본 개시의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 개시의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
몇몇 실시예들에서, 컴퓨터 프로그램(1500)은 예를 들어 제1 디램(DRAM), 제2 디램 및 제3 디램을 포함하는 디바이스 테스트 장치에 의해 수행되는 방법에 있어서, 기 지정된 주기 내의 제1 시간 동안 상기 제1 디램의 리프레시를 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링(Scrambling) 동작을 수행하는 동작, 상기 기 지정된 주기 내의 제2 시간 동안 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 동작, 상기 기 지정된 주기 내의 제3 시간 동안 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 동작 및 상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 동작을 수행하는 인스턱션들을 포함할 수 있다.
지금까지 도 1 내지 도 10을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (9)

  1. 제1 디램(DRAM), 제2 디램 및 제3 디램을 포함하는 디바이스 테스트 장치에 의해 수행되는 방법에 있어서,
    기 지정된 주기 내의 제1 시간 동안 상기 제1 디램의 리프레시를 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램의 제1 스크램블링(Scrambling) 동작을 수행하는 단계;
    상기 기 지정된 주기 내의 제2 시간 동안 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 단계;
    상기 기 지정된 주기 내의 제3 시간 동안 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 단계; 및
    상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 단계를 포함하되,
    상기 제1 시간,상기 제2 시간 및 상기 제3 시간의 합은 상기 기 지정된 주기인,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  2. 제1 항에 있어서,
    상기 제2 디램 및 상기 제3 디램의 제1 스크램블링 동작을 수행하는 단계는,
    상기 제2 디램 및 상기 제3 디램 간 제1 뱅크 인터리브를 수행하는 단계를 포함하는,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  3. 제1 항에 있어서,
    상기 제1 디램 및 상기 제3 디램의 제2 스크램블링 동작을 수행하는 단계는,
    상기 제1 디램 및 상기 제3 디램 간 제2 뱅크 인터리브를 수행하는 단계를 포함하는,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  4. 제1 항에 있어서,
    상기 제1 디램 및 상기 제2 디램의 제3 스크램블링 동작을 수행하는 단계는,
    상기 제1 디램 및 상기 제2 디램 간 제3 뱅크 인터리브를 수행하는 단계를 포함하는,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  5. 제1 항에 있어서,
    상기 기 지정된 주기는 7.8μs 인,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  6. 제1 항에 있어서,
    상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하는 단계는,
    상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 엑세스 순서에 따라 FIFO 큐(First In First Out Queue)에 격납하는 단계; 및
    상기 격납된 상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 상기 엑세스 순서에 따라 읽는 단계를 포함하는,
    인터리브 방식을 이용한 메모리 스크램블 방법.
  7. 복수의 디램; 및
    데이터 프로세서 직접 회로를 포함하되,
    상기 데이터 프로세서 직접 회로는,
    기 지정된 주기 내의 제1 시간 동안 상기 복수의 디램 중 제1 디램의 리프레시 동작을 수행하고, 상기 제1 시간 동안 상기 제2 디램 및 상기 제3 디램 간의메모리 인터리브를 수행하며, 상기 제1 시간 동안 제1 스크램블링(Scrambling)을 수행하고,
    상기 기 지정된 주기 내의 제2 시간 동안 상기 복수의 디램 중 제2 디램이 리프레시 동작을 수행하고, 상기 제2 시간 동안 상기 제1 디램 및 상기 제3 디램 간의 메모리 인터리브를 수행하며, 상기 제2 시간 동안 제2 스크램블링을 수행하며,
    상기 기 지정된 주기 내의 제3 시간 동안 상기 복수의 디램 중 제3 디램이 리프레시 동작을 수행하고, 상기 제3 시간 동안 상기 제1 디램 및 상기 제2 디램 간의 메모리 인터리브를 수행하며, 상기 제3 시간 동안 제3 스크램블링을 수행하고,
    상기 제1 스크램블링을 수행한 결과인 제1 데이터, 상기 제2 스크램블링을 수행한 결과인 제2 데이터 및 상기 제3 스크램블링을 수행한 결과인 제3 데이터를 연속된 스크램블 데이터로 갱신하되,
    상기 제1 시간,상기 제2 시간 및 상기 제3 시간의 합은 상기 기 지정된 주기이고,
    상기 제1 디램, 상기 제2 디램 및 상기 제3 디램 각각은 상기 데이터 프로세서 직접 회로에 연결된,
    인터리브 방식을 이용한 메모리 스크램블 장치.
  8. 제7 항에 있어서,
    상기 데이터 프로세서 직접 회로는 FPGA(Field Programmable Gate Array)인,
    인터리브 방식을 이용한 메모리 스크램블 장치.
  9. 제7 항에 있어서,
    상기 제1 디램, 상기 제2 디램 및 상기 제3 디램은 DDR4(double data rate 4th generation) 메모리인,
    인터리브 방식을 이용한 메모리 스크램블 장치.
KR1020220188722A 2022-12-29 인터리브 방식을 이용한 메모리 스크램블 방법 및 장치 KR20240106096A (ko)

Publications (1)

Publication Number Publication Date
KR20240106096A true KR20240106096A (ko) 2024-07-08

Family

ID=

Similar Documents

Publication Publication Date Title
US7506226B2 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US5673270A (en) Semiconductor memory device having register for holding test resultant signal
US7392442B2 (en) Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol
US7184915B2 (en) Tiered built-in self-test (BIST) architecture for testing distributed memory modules
US7729185B2 (en) Apparatus and method for detection of address decoder open faults
US5231605A (en) DRAM compressed data test mode with expected data
US3982111A (en) Memory diagnostic arrangement
US20060294443A1 (en) On-chip address generation
US5809038A (en) Method and apparatus for reading compressed test data from memory devices
KR20120068620A (ko) 반도체 메모리 장치 및 그 테스트 방법
KR20190047860A (ko) 결함 정보 저장 회로 및 이를 포함하는 반도체 장치
KR101295655B1 (ko) 시험 장치 및 시험 방법
US7681096B2 (en) Semiconductor integrated circuit, BIST circuit, design program of BIST circuit, design device of BIST circuit and test method of memory
KR20150133345A (ko) 반도체 메모리 장치 및 그의 동작방법
KR20240106096A (ko) 인터리브 방식을 이용한 메모리 스크램블 방법 및 장치
US8488400B2 (en) Multi-port memory device
US7073105B2 (en) ABIST address generation
US10134484B2 (en) Semiconductor devices, semiconductor systems including the same, methods of testing the same
KR100640635B1 (ko) 다양한 테스트 데이터 패턴을 이용하여 테스트 할 수 있는반도체 메모리 장치
KR100697832B1 (ko) 복수개의 포트를 가진 메모리 장치와 그 테스트 방법
WO2009141849A1 (ja) パターン発生器
JPH04251355A (ja) メモリテスト方式
JP4669089B2 (ja) パターン発生器およびそれを用いたメモリの試験装置
JPH0668539B2 (ja) 半導体メモリ試験装置
JPH0688859A (ja) 半導体試験装置用波形発生装置