KR20120031960A - 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅 - Google Patents

메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅 Download PDF

Info

Publication number
KR20120031960A
KR20120031960A KR1020117031641A KR20117031641A KR20120031960A KR 20120031960 A KR20120031960 A KR 20120031960A KR 1020117031641 A KR1020117031641 A KR 1020117031641A KR 20117031641 A KR20117031641 A KR 20117031641A KR 20120031960 A KR20120031960 A KR 20120031960A
Authority
KR
South Korea
Prior art keywords
address
pattern
memory
segment
buffer
Prior art date
Application number
KR1020117031641A
Other languages
English (en)
Other versions
KR101405690B1 (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 KR20120031960A publication Critical patent/KR20120031960A/ko
Application granted granted Critical
Publication of KR101405690B1 publication Critical patent/KR101405690B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • 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/44Indication or identification of errors, e.g. for repair

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

테스팅, 툴 개발, 및 디버깅의 속도를 높이는 메모리 링크에 대한 로버스트한 전기적 통합 테스팅(Robust Electrical Unified Testing)(REUT)이 소개된다. 또한 그것은 BIOS에 의해 사용되어 파라미터 및 조건들을 트레이닝하기 위한 충분한 성능을 가지는 과거 구현들에 가능하지 않았었던 트레이닝 후크를 제공한다. 주소 패턴 생성 회로가 또한 개시된다.

Description

메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅{ROBUST MEMORY LINK TESTING USING MEMORY CONTROLLER}
본 발명의 실시예들은 메모리 링크 테스팅에 관한 것이며, 특히 로버스트한 전기적 통합 테스팅(robust electrical unified testing)(REUT)에 관한 것이다.
메모리 컨트롤러로부터의 메모리 링크 상의 전기적 테스팅은 디자인 단위로 변화하며 때로 소프트웨어 집약적이며 실행하기에 매우 시간이 많이 소요되는 애드 혹(ad hoc)의 특징을 포함한다. 전기적 확인 도구(electrical validation tool)들에는 공통의 구성 명세서가 없었기 때문에 각각의 디자인에 대하여 다시 작성되어야만 하였다. 또한 과거의 메모리 테스팅 후크(hook)들은 메모리 컨트롤러의 통상적인 기능적 패스 내에 만들어지지 않았기 때문에 테스트들은 시간, 페이지 정책, 리프레시 레이트, 및 파워 절약과 같은 다양한 노브(knob)들에 대한 구성 설정들을 에뮬레이트하도록 구성되어야만 하였다.
상술한 내용과 본 발명의 더 나은 이해에 대하여는 후술하는 본 발명에 관해 마련되고 예시된 실시예들과 특허청구범위를 첨부된 다음 도면들과 연관하여 읽을 때 더 명확해질 것인 바, 이들 모두는 본 발명의 개시의 부분을 형성한다. 상술한 내용과 후술하는 기재 및 설명된 개시 내용은 본 발명에 관해 마련되고 예시된 실시예들에 중점을 두지만, 이는 단지 설명 및 예시로서일 뿐이며 그러한 사항에 한정하고자 하는 것은 아니라는 점이 명확히 이해되어야 할 것이다.
도 1은 DDR REUT 데이터 블록을 도시한 회로도.
도 2는 패턴 생성을 위한 대형 버퍼 개념을 도시한 회로도.
도 3은 도 2에 도시된 선형 피드백 시프트 레지스터들(linear feedback shift registers)(LFSRs)의 임의의 불리언 조합들의 참조 테이블(look-up table).
도 4는 서로 다른 레인들에 복수 타입의 패턴이 동시에 사용되는 방법을 도시하는 차트.
도 5는 임의의 GDDR 핀 상의 고유의 패턴을 제어하는 임의의 불리언 함수를 프로그램하는 확장된 버퍼를 도시하는 블록도.
도 6은 패턴out에 대한 진리표(truth table).
도 7은 M/N 생성기에 의해 생성된 파형의 예.
도 8은 향상된 주소 패턴 생성을 도시하는 블록도.
도 9는 교호 세그먼트 및 순차 세그먼트를 포함하는 내부 주소를 도시하는 도면.
도 10은 뱅크, 페이지 및 컬럼 비트들을 포함하는 주소 폭을 도시하는 도면.
도 11은 향상된 패턴 생성을 도시하는 도면.
본 명세서를 통하여 "일 실시예(one embodiment)" 또는 "일 실시예(an embodiment)"에 관한 언급은 그 실시예와 관련하여 설명되는 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서를 통하여 다양한 곳에서 "일 실시예에 있어서(in one embodiment)" 또는 "일 실시예에 있어서(in an embodiment)"라는 문구의 다양한 출현들은 이들 모두가 반드시 동일한 실시예를 가리키는 것은 아니다. 또한, 특정한 특징들, 구조들, 또는 특성들은 하나 이상의 실시예들에서 적절한 방식으로 결합될 수 있다.
본 발명의 일 실시예에 따르면, 메모리 링크에 대한 REUT(Robust Electrical Unified Testing)는 상기 논의된 모든 이슈들을 취급하며, 테스팅, 툴 개발, 및 디버깅의 규모의 속도 향상(orders of magnitude speedup)을 가져온다. 또한 그것은 BIOS에 의해 사용되어 파라미터들과 조건들을 트레이닝하기에 충분한 성능을 가지는 트레이닝 후크(training hook)를 제공하는데, 이는 과거의 기술 구현에 있어서는 가능하지 않았던 것이다.
"REUT" 구조는 상호 연결 빌트인 셀프 테스트(Interconnect Built-In Self-Test)(IBIST) 기술의 표준화를 더 발전시키기 위하여 개발되었다. REUT는 레지스터 세트와 길게 서있는 PCI 프로그래밍 모델을 통한 그 레지스터들에의 연관된 접근 메커니즘을 표준화한다. PCI 함수를 정의하는 것은 구성요소의 구현과 툴의 개발 사이에 깔끔한 중단을 제공한다. 수반된 표준 레지스터 세트와 함께 PCI 표준 프로그래밍 모델을 제정하는 것은 긴 기간의 소프트웨어 재사용을 가능하게 하기위해 필수적인 인프라스트럭처를 제공한다.
이제 도 1을 참조하면, REUT는 DRAM으로의 요청을 발행하는 통상의 메모리 컨트롤러 스케줄러 패스를 활용하는 전용의 주소 및 데이터 생성 하드웨어를 포함한다. 소프트웨어 인터페이스가 또한 하드웨어를 제어하기 위하여 정의된다. 이 프로그래밍 인터페이스는 제품 패밀리들 간의 툴 재코딩 노력을 최소화하기 위하여 제품들 간의 일관성을 유지하기에 충분할 정도로 제네릭(generic)하도록 의도된다.
REUT에 대한 주된 테스팅 메커니즘은 루프백(loopback)을 이용하여 링크 또는 dram 에러들을 테스트하는 것이다. DDR 링크 루프백은 알려진 데이터 패턴으로 메모리에의 기입을 발행함에 의해 달성된다. 이 위치는 후에 다시 판독되며 패턴은 비트당 단위로 확인되어 메모리 컨트롤러의 송신측으로부터 수신 측으로의 데이터 경로 상의 어느 곳에서 에러가 발생하였는지를 결정한다. 비트당 에러 정보는 테스트 동안 레지스터들에 저장되고 결과는 함께 논리합 연산(OR)되어 전체 에러 지표(global error indication)를 생성하는데 이는 결과를 확인할 때 테스트 시간을 감소하기 위해 사용될 수 있다.
하드웨어의 주소 생성 부분은 DDR 인터페이스가 허용하는 최대의 속도로 메모리 판독 및 기입 요청을 생성할 수 있다. 이러한 최대의 속도는 테스트 속도를 높이고 목표로 하는 최악의 케이스의 조건을 허용하는데 유용하다. 모든 요청들은 DRAM 주소 매핑 방식에 지정된 주소와 함께 생성된다. 채널 상의 랭크들과 페이지들이 테스트의 목표로서 지정될 수 있다. 요청 생성기는 DRAM 반송(turnaround) 케이스들을 행사하기 위해 랭크들과 페이지들 사이에 요청들을 주고받도록(ping pong) 구성될 수 있다. 예를 들어, 2 개의 랭크들 사이에 모든 턴(turn)들을 히트시키기 위하여, 다음 시퀀스를 발행한다:
WriteRank0 WriteRank1 ReadRank0 ReadRank1 repeat
주소들은 메모리 주소 신호들을 행사하기 위하여 선형의 패션 또는 선형 피드백 시프트 레지스터(Linear Feedback Shift Register)(LFSR)를 사용하여 생성될 수 있다. 하나의 랭크에 연속적으로 발행되는 DRAM 판독 및 기입들의 수는 테스트가 얼마나 오래 수행될 것인지를 지정하는 루프카운트(loopcount)와 함께 지정될 수 있다. 루프카운트는 기하급수적으로 증가하여 실행 시간은 2^(루프카운트)에 비례한다.
데이터는 디자인의 IO 부분 내의 전용 패스에서 생성되지만, 이는 본 발명의 필수사항은 아닐 수 있다. 데이터는 ISI, 크로스토크, 및 공진 효과들의 서로 다른 조합들을 생성하기 위해 레지스터들을 통하여 제어되는 패턴 버퍼들 및 LFSR들의 조합을 사용하여 생성된다. 각각의 비트에 대하여 데이터 패턴이 생성되는 방식을 지정하기 위해 버퍼 선택 레지스터가 이용 가능하다. 레인 반전(Lane inversion)이 비트당 단위로 마스크 벡터를 사용하여 반전될 비트(들)을 지정하기 위하여 또한 이용 가능하다.
전기적 파라미터 마지닝(electrical parameter margining)은 메모리 컨트롤러 내에, 플랫폼 상에, 그리고 딤(dimm) 내에 전기적 파라미터를 설정하고 REUT 테스트를 실행함에 의해 수행된다. 이러한 전기적 파라미터들은 일반적으로 IO 신호들이 샘플링될 때 타이밍 또는 전압을 제어한다. 값들의 범위는 사용자에게 시각도(eye diagram)의 전체 그림을 제공하기 위하여 펼쳐질 수 있다.
동일한 REUT 테스트 펼쳐짐이 반송 타이밍, 종료 설정, 또는 심지어 CAS 판독 레이턴시 설정과 같은 프로토콜 파라미터들을 위하여 행해질 수 있다. 이는 BIOS에 의해 반송 또는 지연을 최소화함에 의해 성능을 최적화하기 위해 사용될 수 있다. 이는 또한 매우 유용한 디버깅 툴이라는 것이 입증되었다. REUT 테스트는 실패의 성질에 대해 신속히 피드백을 받기 위하여 BIOS에 의해 프로그램되는 실제 설정과 함께 수행될 수 있다.
실제로 본 발명의 실시예들에 의하여 해결되는 여러 문제들이 있다:
1. Bios 트레이닝
2. 딤 마지닝(Dimm margining)
3. 전기적 확인 테스트 시간
4. 메모리 컨트롤러 테스팅 및 디버깅
5. HVM 테스팅 및 스크린 능력
다른 구현들에 의하여는 상기 리스트에 기재된 문제들 중 하나 또는 둘 만을 해결할 수 있다. 그것들은 일반적으로 사용자로 하여금 DDR 링크 상에서 구동되는 단문의 시퀀스들을 프로그램하도록 허용하는 소프트웨어 CPU 기반 테스팅 또는 초기 하드웨어(primitive hardware)를 사용함에 의하여 이러한 문제들을 해결한다.
소프트웨어 기반 접근 방법은 플랫폼과 CPU 디자인들 간에 걸쳐 신뢰성 있다는 점이 증명되지 않았다. 또한 트랜스액션(transaction)들이 주입되는 곳(CPU 코어)과 REUT(메모리 컨트롤러 내부) 간의 거리에 기인하여 트랜스액션의 타이밍과 오더링에 대해 제어가 제한된다. 이러한 테스트 행동에 대한 제어와 다양성의 부족은 소프트웨어 접근 방식의 증가된 테스트 시간과 함께 이를 REUT보다 바람직하지 않고 효율적이지 못하도록 하였다.
단문의 시퀀스들을 지정하는 것을 허용하는 애드혹 하드웨어는 때때로 메모리 프토토콜을 준수하지 않으며 프로그래머로 하여금 DRAM 컨트롤러의 프로토콜 설정을 에뮬레이트하도록 강제한다. REUT에서는 실제 프로토콜 설정들이 사용되며 따라서 이는 제한이 되거나 프로그래밍 복잡도를 증가시키지 않는다. 이는 또한 REUT가 프로토콜 로직 및 설정을 디버깅하는데 사용되도록 허용한다. 이전의 접근 방식들이 테스팅을 위한 단문의 시퀀스들을 중복하여 프로그래밍하도록 요구하였기 때문에 소프트웨어의 오버헤드가 테스트 시간의 대부분을 차지하게 되었다. 이는 REUT에서는 발생하지 않는데, 매우 길고 고유한 테스트가 최소한의 선행 프로그래밍과 함께 설정될 수 있기 때문이다.
본 명세서에서 설명되는 바와 같이 REUT는 사용자가 메모리 컨트롤러의 프로토콜 계층으로 직접 주입되는 트래픽을 지정할 수 있도록 허용한다. 이는 테스트가 현실적인 타이밍과 설정으로 수행될 수 있도록 허용한다. REUT는 또한 프로그래밍 오버헤드가 없이 장문의 데이터 시퀀스들을 지정하는 전용의 하드웨어를 가진다. 명령과 데이터 생성 하드웨어의 조합 및 트랜스액션들이 주입되고 확인되는 방식은 REUT 메커니즘에서 고유하다.
공통의 프로그래밍 인터페이스와 전용 하드웨어의 상당 부분은 현재 솔류션들에서는 존재하지 않는다. 본 발명의 장점은 통상의 프로토콜 계층을 통하여 테스팅에 요구되는 판독 및 기입 트랜스액션들을 스케쥴하는 인터페이스이다. 하드웨어에 의해 차례로 배열되는 장문의 고유한 테스트들을 지정할 수 있음에 의하여 감소된 테스트 시간은 현재 솔류션들에서 또한 제공되지 않는다.
REUT는 바이오스 트레이닝, DIMM 마지닝, HVM 테스팅 및 전기적 링크 확인을 포함하는 넓은 범위의 용도를 가진다. 이는 고객들이 그들의 금전을 절약하고 프로세서의 가치를 증가시킬 수 있도록 제조 환경에서 그들의 딤(dimm)들을 선별하는 것을 허용하는 BIOS에서의 새로운 특징들을 가능하게 한다. DDR 링크 테스트 시간은 전기적 링크 이슈들 주변의 트레이닝과 같은 바이오스 특징들을 가능하게 할 정도로 충분히 작다.
본 발명의 다른 실시예에서, DDR 상호 접속 안정성은 플랫폼 기능성 및 OS에의 부팅에 유리하다. DDR 주파수가 1600MTS 및 그 이상으로 증가함에 따라, 타이밍을 최적화하기 위하여 더 향상된 트레이닝 회로들이 요구된다. 본 명세서에서 기술된 "향상된 데이터 패턴 생성"의 새로운 방법은 향상된 트레이닝 능력들을 제공하며, 따라서 더 빠른 플랫폼 DDR 주파수(1600MTS 및 그 이상)를 가능하게 한다.
현재 생성 트레이닝 회로들의 문제점들 중의 하나는 그것들이 너무 단순하거나(예를 들면, 단지 "1010" 토글만을 생성함) 또는 그것들이 구현하는데 너무 많은 실리콘 영역을 요구한다는 것(예를 들면, 모든 레인의 뒷쪽에 패턴 생성기를 배치함)이다.
본 발명의 실시예들은 단지 3개의 상대적으로 작은 23 비트의 LFSR들을 사용하여 복잡한 의사 난수들을 생성함에 의하여 상기 문제 모두를 해결하는 "향상된 데이터 패턴 생성"의 새로운 방법을 소개한다.
이러한 새로운 방법의 이점은 각각의 레인(도면에는 72개가 도시)이 동일한 패턴이 모든 레인들에 대하여 중복되어야 하는 현재의 생성과 비교하여 고유의 패턴을 가질 수 있다는 것이다. 이는 통상적으로 데이터를 72 비트 폭을 가지는 기능적 패스로 버퍼링하는 기입 데이터 버퍼(Write Data Buffer)(WDB)를 재사용하는 것에 의해 달성될 수 있다.
이제 도 2를 참조하면, "대형 버퍼(Large Buffer)(WDB) 개념"이 도시된다. 도 2에 도시된 바와 같이, 직사각형은 대형 버퍼이다. 여기서, 그것은 32 캐시 라인 깊이를 포함하며, 각각의 캐시 라인은 시간상에서 8 비트 깊이를 가진다. 통상적으로, 임의의 주어진 시간에 하나의 캐시 라인이 액세스 가능하며, 이는 512 비트 폭을 가진다. 8:1 다중화기(Mux)가 DDR 인터페이스를 위해 데이터를 72 비트폭으로 직렬화한다(serialize). 8:1 다중화기 뒤의 통상의 제어는 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, ... 과 같이 카운트하는 선형 카운터이다. 새로운 동작 모드에서, 선형 카운터는 LFSR들과 M/N으로 대체되며, 따라서 3 비트 시퀀스는 더 이상 선형이 아니다.
도 3에 도시된 바와 같이, WDB는 LFSR1, LFSR2, 및 LFSR3의 임의의 불리언 조합들의 룩업 테이블을 포함할 수 있는 대형 버퍼이다. 하나의 레인 상에서 이것이 동작하는 방식을 살펴보자면, 만일 특정 DDR 레인의 WDB의 시간에서 8 비트가 아래의 테이블의 "패턴out" 진리표가 되도록 프로그램된다면 LFSR1, LFSR2, LFSR3의 XOR 연산이 DDR 레인 출력에서 실현될 것이라고 가정하자.
도 4는 서로 다른 레인들 상의 복수 타입의 패턴들이 어떻게 동시에 사용될 수 있는지를 도시하는 예이다. 아래 테이블의 각 셀은 하나의 레인에 대한 시간에서 8 비트를 포함한다. 상기 지적한 바와 같이, 복잡한 패턴들이 비트당 단위로 생성될 수 있다. 대형 버퍼(WDB)가 각각의 레인에 대한 고유의 비트들을 보유하기에 충분한 공간을 포함하므로, 이제 DDR 상호 접속의 모든 72 레인들이 WDB의 프로그래밍을 단순히 변경함에 의하여 고유의 패턴에 의해 구동될 수 있다. 8:1 다중화기를 제어하는 대형 버퍼(WDB)와 세 개의 LFSR의 조합은 실리콘 영역을 상당히 증가시키지 않고서도 강력한 데이터 패턴 생성 능력을 제공한다.
본 발명의 또다른 실시예에 있어서, 그래픽스 더블 데이터 속도(Graphics Double Data Rate)(GDDR) 상호 접속 안정성은 집적(integrated) 또는 이산(discrete) 그래픽스의 관점에서 플랫폼 기능성에 중요하다. GDDR 주파수가 수 기가헤르쯔 및 그 이상으로 증가함에 따라, 더 향상된 트레이닝 및 상호 접속 진단 회로들이 타이밍을 최적화하기 위해 요구된다.
"향상된 데이터 패턴 생성"의 새로운 방법은 향상된 트레이닝 및 상호 접속-진단 능력을 제공하며, 따라서 GDDR 주파수(수 기가헤르쯔)와 집적 및 이산 그래픽스들에 대한 차세대 플랫폼들을 가능하게 한다.
현재 세대의 트레이닝 회로들의 문제 중 하나는 그것들이 너무 단순하거나(예를 들면, 단지 "1010" 토글만을 생성함) 또는 그것들이 구현함에 있어 너무 많은 실리콘 영역을 요구한다는(예를 들면, 모든 레인 뒤에 패턴 생성기를 배치함) 점이다.
본 발명의 실시예들은 하나의 M/N 생성기 및 하나의 32 비트 시프트 레지스터만을 추가함에 의하여 실리콘 면적을 최소화하는 반면 복잡한 의사 난수들을 생성함에 의하여 상기 문제점 모두를 해결하는 "향상된 데이터 패턴 생성"의 새로운 방법을 도입한다. 이 새로운 방법의 장점은 더 넓고, 더 깊고, 더 다양한 패턴들이 모든 레인들에 걸쳐 생성될 수 있다는 점이다.
이제 도 5 및 6을 참조하여, 특정 GDDR 레인의 시간에서의 8 비트가 8 비트 버퍼 내에 보유되고, 그것이 아래 테이블의 "패턴out" 진리표가 되도록 프로그래밍된다면, GDDR 레인 출력에서 SG1, SG2, SG3의 XOR 연산이 실현될 것이라고 가정하자. 만일 SG1, SG2, SG3이 M/N 생성기와 혼합된 서로 다른 의사 난수 패턴들(예를 들면, LFSR 출력)이라면, GDDR 레인 상의 최종 출력 패턴은 LFSR1 XOR LFSR2 XOR M/N이 될 것이다.
확장된 버퍼: 이제, 상기 LUT 개념을 5 비트 MUX-선택 및 32 비트 버퍼들에 의해 제어되는 32:1 다중화기로 확장하면, 이제 각각의 GDDR 레인은 상기 도면에 도시된 "확장된 버퍼"에 의해 제어될 수 있으며, 이는 다섯 개의 함수들(두 개의 64 비트 패턴 버퍼, 두 개의 LFSR, 및 1 개의 M/N 생성기) 모두의 임의의 진리표 기능을 구현하기 위해 사용될 수 있다.
도 5 및 6에는 GDDR의 8개의 레인들, 즉 8개의 32 비트 확장된 버퍼들이 도시되어 있다. 이들 8개의 확장된 버퍼들은 연결되어 시프트 레지스터를 형성하며, 따라서 8개의 레인들 상에서 패턴들을 시프트하는 능력을 제공한다.
LFSR: 최대의 수행 길이를 가지는 고유하고 반복되지 않는 패턴을 생성하기 위하여 특정 위치에서의 피드백을 가지는 23 비트 시프트 레지스터들.
M/N 생성기: M/N 생성기는 3개의 단계들을 생성한다. 프리커서(precursor)는 "낮으며," 프리커서의 길이는 레지스터를 통하여 제어될 수 있으며, "M"은 커서(cursor)를 지칭하며 또한 그 길이는 레지스터를 통하여 제어될 수 있다. 마지막으로, "N"은 포스트커서(postcursor)를 지칭하며, 시간상에서 "N" 비트의 실행 길이를 가진다.
도 7은 M/N 생성기가 생성할 수 있는 파형들의 일부를 도시한다.
레인 반전(Lane inversion): 상기에 더하여, 레인 반전 제어는 특정 레인을 "통상적인" 패턴으로부터 반전할 수 있다.
드라이브 DC: 드라이브 DC는 레인이 상기 "통상적인" 패턴 대신 DC "1" 또는 "0"를 가질지 여부를 제어한다.
실시예에 따르면, GDDR은 최소의 실리콘 영역의 증가와 함께 32개의 레인들 각각에 고유한 복잡한 패턴들(LFSR)로 트레이닝된다. 온다이(on-die)로 향상된 상호 접속 진단 패턴들을 제공한다. "확장된 버퍼"와 32:1 다중화기를 제어하는 5개의 함수들(2개의 LFSR, 2개의 64 비트 패턴 버퍼 및 1개의 M/N)의 조합은 트레이닝과 상호 접속 진단에 대한 강력한 데이터 패턴 생성 능력을 제공한다.
본 발명의 또다른 실시예에 있어서, DDR 상호 접속 안정성은 플랫폼 기능성 및 OS에의 부팅에 중요하다. DDR 주파수가 1600MTS 및 그 이상으로 증가함에 따라, 더 향상된 트레이닝 회로들이 타이밍을 최적화하기 위해 요구된다.
현재 기술 상태에서는 전체 대역폭 최악의 경우의 패턴과 함께 주소 핀들을 강조할 수 없는데, 왜냐하면 DDR3 명세는 트레이닝 또는 CMD/주소 핀들을 마지닝하기 위한 어떠한 명시적인 후크(hook)들도 제공하지 않기 때문이다. 결과로서, 기능적 패턴들을 사용하도록 강제되며, CMD/주소는 반드시 DDR 명세를 100% 프로토콜 준수하여야 한다. 그러나, 프로토콜의 준수를 요구하는 것은 단순한 패턴 생성기로 최악의 경우의 패턴을 생성하는 것을 더 어렵게 만든다.
이 문제에 대한 이전의 접근 방법들은 버스 상에 최악의 경우의 파워 전송, ISI, 공진 및 크로스토크 잡음을 동시에 생성할 수 없었다. 예를 들면, 심지어 수 사이클 이상 동안 CMD/주소 버스의 대역폭을 완전히 포화시킬 수 있는 단순한 하드웨어 생성기에게도 이것은 매우 어렵다. 최악의 경우의 패턴을 히트(hit)하는 이러한 능력의 결여는 전체 시스템 주파수, 성능 및 디버깅 능력에 영향을 미친다.
실시예들에 따르면, "향상된 주소 패턴 생성"의 새로운 방법은 향상된 트레이닝 능력을 제공하며, 따라서 더 빠른 플랫폼 DDR 주파수(1600MTS 및 그 이상)를 가능하게 한다. 현재 세대의 트레이닝 회로의 문제의 하나는 그것들이 너무 간단하거나(예를 들면, "1010" 토글만을 생성함) 또는 그것들이 구현하기에 너무 많은 실리콘 영역을 요구한다는(예를 들면, 모든 레인 뒷쪽에 패턴 생성기를 배치함) 것이다.
실시예들은 "향상된 주소 패턴 생성"의 새로운 방법을 도입한다. 이러한 새로운 방법의 장점은 DDR 주소 핀들이 최악의 경우의 패턴과 함께 전체 대역폭에서 강조될 수 있다는 점이다. 또한, DIMM 파워 전달 시스템들은 랜덤하게 페이지들을 오프닝하고 클로징하는 것을 통해 트레이닝함과 동시에 강조될 수 있다.
이제, 도 8을 참조하면, 아래 논의될 바와 같이 여러 블록들을 포함하는 일 실시예에 따른 블록도가 도시된다.
스케줄러에 대한 배경: 스케줄러의 목적은 DDR 트랜스액션들의 타이밍을 제어하는 것이다. 프로토콜 레벨의 리프레시, 판독, 기입 사이클들은 모두 스케줄러에 의해 "스케줄"되며, 이는 이미 프로토콜을 준수하는 것으로 확인되어 있다.
결정적 생성기(Deterministic generator)에 대한 배경: 결정적 생성기는 N 개의 주소들이 저장된 원형(circular) FIFO에 불과하다. 임의의 주어진 시간에, N 개의 주소들 중 하나가 스케줄러로 보내진다. 결정적 생성기는 최악의 경우의 반송 시간을 히트하며, 연속적인(back to back) 페이지 사이클들 및 연속적인 랭크 사이클들을 생성할 수 있다.
랜덤 페이지 생성기에 대한 배경: 결정적 생성기가 N 개의 정확히 제어된 주소들을 차례로 배열하여 DIMM 상의 파워 레일 스트레스를 더 추가하는 반면, "랜덤 페이지 생성기"는 다른 미사용의 뱅크들에 대한 랜덤한 페이지 오픈 및 클로스 요청을 생성할 수 있다. 이는 최악의 경우의 DRAM 파워 전달이, 메모리 제어기와는 달리, 과다한 IO 트래픽 로드가 걸릴 경우 발생하지 않기 때문에 중요하다. 대신, 페이지 오픈 및 클로스 요청들에 의해 DRAM 내에 최고의 dI/dT 및 공급 잡음이 생성된다. 이러한 방식은 또한 오픈/클로스 요청들의 주파수에 대한 제어를 허용하며 DIMM 파워 전달 네트워크 내에 서로 다른 공진 주파수들을 목표로 할 수 있다.
DDR CMD/ADDR 라인들에서 전체 대역폭을 획득하는 방법: 스케줄러가 DDR 버스 발행 명령으로 바쁘지 않을 때, 프토토콜은 버스 상에 NoOp 또는 Deselect 명령들을 허용한다. 이 경우, NoOp과 연관된 실제 주소 비트들은 임의의 것이 될 수 있으며, 이는 DRAM에 의하여 무시된다. 전체 대역폭을 모두 채우는 한 가지 방법은 NoOp/Deselect 주소 생성 뒤에 두 개의 LFSR을 첨부하는 것이다. 이는 본질적으로 실제 주소 명령에 대한 "잡음이 있는" 프리-커서(pre-cursor)와 포스트-커서(post-cursor)를 생성한다.
이 부분들 모두를 도 8의 도면으로 조합하면, 본 발명은 DDR 주소 명령 핀들 상에 전체 대역폭 트래픽을 생성하고, 강조할 페이지 및 랭크를 정확히 생성하고, DIMM 상의 파워 전달 시스템을 강조하고, NoOp/Deselect 트래픽에 상호 접속 잡음을 유지하고 2개의 LFSR들을 통하여 버스 상에 다양한 ISI/Xtalk 시나리오를 히트할 수 있다. 이들 모두를 조합하면 빠르게 최상의 트레이닝 결과를 얻을 수 있는 상호 접속을 강조할 수 있는 강력한 향상된 트레이닝 회로를 만들며, 따라서 더 높은 DDR 주파수들을 가능하게 한다.
또다른 실시예들에 따르면, "향상된 주소 패턴 생성"의 새로운 방법은 주소의 범위를 차례로 나열함과 함께 주소의 범위 사이를 랜덤하게 점프할 수 있으며, 따라서 GDDR 타이밍을 최적화하기에 요구되는 패턴을 제공한다. 이 새로운 방법의 장점은 하드웨어를 변경하지 않고서도 다양한 GDDR 메모리 설정에 적용할 수 있다는 것이다.
도 9를 참조하면, 내부 주소 생성의 배경을 설명하는 도면이 도시된다. 주소 생성기는 언제나 도 9에 도시된 내부 주소를 생성할 것이다. 전체 내부 주소는 "교호의(alternating)" 세그먼트(segment)와 "순차의(sequential)" 세그먼트로 구성된다. 교호의 세그먼트는 주소 생성의 이 부분이 레지스터들에 의해 프로그램되는 N개의 주소 값들 사이에서 번갈아 나타날 수 있기 때문에 이렇게 이름 붙여졌다. "순차의" 세그먼트는 이 부분이 시작 주소로부터 종료 주소까지 순차로 카운트할 수 있기 때문에 이렇게 이름 붙여졌으며, 이는 또한 레지스터들에 의해 프로그램된다. 순차의 세그먼트는 또한 랜덤 주소들을 제공하기 위하여 LFSR에 의해 생성될 수도 있다.
이제 도 10을 참조하면, 물리적 주소 폭(physical address width)은 N 비트 폭의 뱅크(Bank), M 비트 폭의 페이지(page), 및 O 비트 폭의 컬럼(column)들을 포함한다. 각각의 특정 플랫폼은 매번 서로 다른 N, M, O 값들을 가지고 전원이 켜질 수 있다. 따라서, 물리적 주소 폭은 자신의 GDDR 메모리가 존재하는 방식에 의존한다.
명백히, 내부 주소와 물리적 주소 사이에 변환하기 위한 일정한 형식의 매핑(mapping)이 존재하여야 한다. 물리적 주소 폭은 매 파워 사이클마다 변경될 수 있기 때문에, 매핑은 전원이 켜질 때의 메모리 존재 탐지(power-on memory presence detect)와 결합되거나, 또는 레지스터에 의해 제어되고, 주소 생성기를 사용하기 전에 올바른 값으로 기입되어야만 한다. 매핑 로직은 도 11의 도면에 도시된다.
이러한 요소들을 모두 조합하면, 이제 향상된 패턴 생성기가 J 비트의 교호의 주소, K 비트의 선형 또는 랜점 주소를 생성하고, 그것을 임의의 N, M, O 비트의 물리적 주소에 매핑할 수 있다. 이들 모두는 메모리 존재 탐지 또는 레지스터 오버라이드(register override)를 통하여 제어될 수 있다. 그 결과는 완전히 융통성 있으며 재사용 가능한 주소 패턴 생성기이다.
본 발명의 실시예들에 대하여 설명된 상기 명세서는 요약서에 기술된 것들을 포함하지만, 모든 것을 다 포함하거나 개시된 정확한 형태로 본 발명을 제한하고자 의도하는 것은 아니다. 본 발명의 특정 실시예 및 예들이 본 명세서에서 설명의 목적으로 기술되었지만, 관련 기술 분야의 기술자들이 인식하는 바와 같이 본 발명의 범위 내에서 다양한 균등한 변경들이 가능하다.
본 발명에 대한 이러한 변경들은 상기 상세한 설명을 고려하여 이루어질 수 있다. 후술하는 청구항들에 사용된 용어들은 본 발명을 명세서 및 청구항들에 개시된 특정 실시예로 한정하는 것으로 이해되어서는 아니된다. 오히려, 본 발명의 범위는 후술하는 청구항들에 의해 완전히 결정되며, 이는 청구항 해석의 확립된 원칙에 따라서 이해되어야만 한다.

Claims (4)

  1. 알려진 데이터 패턴으로 메모리 위치에 기입하는 명령을 발행하는 단계;
    상기 메모리 위치로부터 데이터를 다시 판독하는 단계;
    상기 알려진 데이터 패턴으로 상기 다시 판독한 데이터를 비트당 단위(per bit basis)로 검사하여 에러가 발생하였는지 여부를 결정하는 단계;
    레지스터에 비트당 에러 정보를 저장하는 단계; 및
    상기 비트당 에러 정보를 논리합 연산(OR)하여 전체 에러 지표(global error indication)를 생성하는 단계
    를 포함하는 방법.
  2. 제1 복수의 캐시 라인들의 깊이를 가지는 버퍼 - 상기 캐시 라인 각각은 시간에 있어서 제2 복수의 비트들의 깊이를 가짐 -;
    상기 버퍼에 연결되어 상기 버퍼로부터의 데이터를 직렬화하는 다중화기; 및
    상기 다중화기에 선택 비트들을 제공하는 복수의 선형 시프트 레지스터들
    을 포함하는 장치.
  3. 더블 데이터 레이트(DDR) 주소 명령 핀들 상에 완전 대역폭 트래픽을 생성하는 장치로서,
    상기 명령 핀들에 실제 주소 정보를 스케줄링하기 위한 스케줄러;
    상기 스케줄러가 유휴(idle) 상태일 때 상기 명령 핀들에 대한 랜덤 주소들을 생성하는 NoOp 생성 회로; 및
    상기 NoOp 생성 회로에 연결된 복수의 선형 피드백 시프트 레지스터(LFSR)들
    을 포함하는 장치.
  4. 메모리 주소 패턴을 생성하는 방법으로서,
    전체 주소 폭을 제1 세그먼트와 제2 세그먼트로 분할하는 단계;
    교호의 주소 패턴들을 저장하는 레지스터들에 상기 전체 주소의 제1 세그먼트를 제공하는 단계; 및
    시작 주소에서 종료 주소까지 순차적으로 카운팅하는 카운터에 상기 전체 주소의 제2 세그먼트를 제공하는 단계
    를 포함하는 방법.
KR1020117031641A 2009-12-31 2010-12-10 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅 KR101405690B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/651,252 2009-12-31
US12/651,252 US8868992B2 (en) 2009-12-31 2009-12-31 Robust memory link testing using memory controller
PCT/US2010/059823 WO2011081843A2 (en) 2009-12-31 2010-12-10 Robust memory link testing using memory controller

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002532A Division KR101758175B1 (ko) 2009-12-31 2010-12-10 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅

Publications (2)

Publication Number Publication Date
KR20120031960A true KR20120031960A (ko) 2012-04-04
KR101405690B1 KR101405690B1 (ko) 2014-06-10

Family

ID=44188960

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147002532A KR101758175B1 (ko) 2009-12-31 2010-12-10 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅
KR1020117031641A KR101405690B1 (ko) 2009-12-31 2010-12-10 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147002532A KR101758175B1 (ko) 2009-12-31 2010-12-10 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅

Country Status (7)

Country Link
US (1) US8868992B2 (ko)
EP (1) EP2519953A4 (ko)
JP (1) JP5531372B2 (ko)
KR (2) KR101758175B1 (ko)
CN (1) CN102483957B (ko)
TW (1) TWI529733B (ko)
WO (1) WO2011081843A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868992B2 (en) 2009-12-31 2014-10-21 Intel Corporation Robust memory link testing using memory controller
DE102011079780A1 (de) * 2011-07-26 2013-01-31 Hilti Aktiengesellschaft Vorrichtung und Verfahren zum Testen eines Speichers eines elektrischen Gerätes
US8479086B2 (en) * 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8996934B2 (en) 2012-09-29 2015-03-31 Intel Corporation Transaction-level testing of memory I/O and memory device
US9003246B2 (en) 2012-09-29 2015-04-07 Intel Corporation Functional memory array testing with a transaction-level test engine
US9009540B2 (en) 2012-12-05 2015-04-14 Intel Corporation Memory subsystem command bus stress testing
US9009531B2 (en) 2012-12-05 2015-04-14 Intel Corporation Memory subsystem data bus stress testing
US9196384B2 (en) 2012-12-28 2015-11-24 Intel Corporation Memory subsystem performance based on in-system weak bit detection
US9076499B2 (en) 2012-12-28 2015-07-07 Intel Corporation Refresh rate performance based on in-system weak bit detection
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9374004B2 (en) 2013-06-28 2016-06-21 Intel Corporation I/O driver transmit swing control
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
US9218575B2 (en) 2013-09-04 2015-12-22 Intel Corporation Periodic training for unmatched signal receiver
US9443614B2 (en) 2013-12-30 2016-09-13 Qualcomm Incorporated Data pattern generation for I/O testing
US10192633B2 (en) * 2016-03-01 2019-01-29 Intel Corporation Low cost inbuilt deterministic tester for SOC testing
US10014036B1 (en) 2016-12-29 2018-07-03 Intel Corporation Low power and area efficient memory receiver
CN110703994B (zh) * 2019-09-20 2023-07-04 上海新储集成电路有限公司 一种神经网络模型的数据存储系统及方法
TWI729938B (zh) * 2020-09-21 2021-06-01 華邦電子股份有限公司 記憶體裝置以及記憶體的測試方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605495A (ja) * 1983-06-23 1985-01-12 Fujitsu Ltd ダイナミツクメモリリフレツシユ方式
US4600986A (en) * 1984-04-02 1986-07-15 Sperry Corporation Pipelined split stack with high performance interleaved decode
JP2511028B2 (ja) 1987-04-24 1996-06-26 日本電信電話株式会社 メモリテスト方法
JP2516965B2 (ja) 1987-04-24 1996-07-24 日本電信電話株式会社 メモリテスト方法
US4782487A (en) 1987-05-15 1988-11-01 Digital Equipment Corporation Memory test method and apparatus
US5258986A (en) * 1990-09-19 1993-11-02 Vlsi Technology, Inc. Tightly coupled, low overhead RAM built-in self-test logic with particular applications for embedded memories
JP3271307B2 (ja) 1992-06-26 2002-04-02 安藤電気株式会社 半導体メモリ用試験パターン発生器
JPH0773695A (ja) 1993-09-06 1995-03-17 Oki Electric Ind Co Ltd Ramのセルフテスト回路
US5675749A (en) * 1995-06-02 1997-10-07 Motorola, Inc. Method and apparatus for controlling show cycles in a data processing system
JPH0963298A (ja) 1995-08-25 1997-03-07 Oki Electric Ind Co Ltd Ramのテスト回路
JPH0991997A (ja) 1995-09-28 1997-04-04 Mitsubishi Electric Corp メモリテスト回路
US5640509A (en) * 1995-10-03 1997-06-17 Intel Corporation Programmable built-in self-test function for an integrated circuit
US5924111A (en) * 1995-10-17 1999-07-13 Huang; Chu-Kai Method and system for interleaving data in multiple memory bank partitions
US5930814A (en) * 1996-09-03 1999-07-27 Credence Systems Corporation Computer system and method for synthesizing a filter circuit for filtering out addresses greater than a maximum address
US5790626A (en) * 1996-09-10 1998-08-04 Hewlett-Packard Company Bi-directional linear feedback shift register
KR100206128B1 (ko) 1996-10-21 1999-07-01 윤종용 선형 궤환 쉬프트레지스터, 다중 입력기호 레지스터 및 이들을 이용한 내장 자기 진단회로
US6006345A (en) 1997-05-09 1999-12-21 International Business Machines Corporation Pattern generator for memory burn-in and test
JP3090094B2 (ja) * 1997-06-20 2000-09-18 日本電気株式会社 テスト回路
JPH11116393A (ja) 1997-10-21 1999-04-27 Asahi Glass Co Ltd 無機フッ化物単結晶の育成方法
US6662327B1 (en) * 1998-05-13 2003-12-09 Janusz Rajski Method for clustered test pattern generation
US6072737A (en) * 1998-08-06 2000-06-06 Micron Technology, Inc. Method and apparatus for testing embedded DRAM
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
JP3224024B2 (ja) * 1999-06-29 2001-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 欠陥登録方法、ディフェクト・マップ記録媒体、およびディスク装置
KR100327136B1 (ko) 1999-10-20 2002-03-13 윤종용 반도체 메모리 장치 및 이 장치의 병렬 비트 테스트 방법
JP2003007097A (ja) 2001-06-26 2003-01-10 Nec Microsystems Ltd 半導体記憶装置およびそのテスト方法
DE10221611B4 (de) * 2002-05-15 2013-01-24 Infineon Technologies Ag Digitalbaustein mit einer Selbsttestfunktion
JP2003344489A (ja) 2002-05-23 2003-12-03 Renesas Technology Corp 半導体集積回路のテスト回路およびテスト装置並びにテスト方法
DE10229802B3 (de) * 2002-07-03 2004-01-08 Infineon Technologies Ag Testschaltung und Verfahren zum Testen einer integrierten Speicherschaltung
US7444559B2 (en) * 2004-01-28 2008-10-28 Micron Technology, Inc. Generation of memory test patterns for DLL calibration
US7178076B1 (en) * 2004-06-16 2007-02-13 Sun Microsystems, Inc. Architecture of an efficient at-speed programmable memory built-in self test
DE102004051346A1 (de) * 2004-10-21 2006-05-04 Infineon Technologies Ag Halbleiter-Bauelement-Test-Einrichtung, insbesondere Daten-Zwischenspeicher-Bauelement mit Halbleiter-Bauelement-Test-Einrichtung, sowie Halbleiter-Bauelement-Test-Verfahren
JP4890807B2 (ja) * 2005-07-27 2012-03-07 パナソニック株式会社 メモリアクセス装置およびメモリアクセス方法
US7370250B2 (en) * 2005-12-21 2008-05-06 Etron Technology, Inc. Test patterns to insure read signal integrity for high speed DDR DRAM
WO2007102485A1 (ja) 2006-03-06 2007-09-13 Anritsu Corporation 試験信号発生装置
JP4455623B2 (ja) * 2007-07-19 2010-04-21 株式会社東芝 半導体集積回路及びそのテストシステム
JP2010055350A (ja) 2008-08-28 2010-03-11 Kyocera Mita Corp メモリ検査回路
US8868992B2 (en) 2009-12-31 2014-10-21 Intel Corporation Robust memory link testing using memory controller
DE102011079780A1 (de) 2011-07-26 2013-01-31 Hilti Aktiengesellschaft Vorrichtung und Verfahren zum Testen eines Speichers eines elektrischen Gerätes

Also Published As

Publication number Publication date
EP2519953A2 (en) 2012-11-07
CN102483957A (zh) 2012-05-30
KR101405690B1 (ko) 2014-06-10
US8868992B2 (en) 2014-10-21
KR20140022961A (ko) 2014-02-25
TW201142859A (en) 2011-12-01
CN102483957B (zh) 2016-03-23
KR101758175B1 (ko) 2017-07-14
US20110161752A1 (en) 2011-06-30
TWI529733B (zh) 2016-04-11
JP5531372B2 (ja) 2014-06-25
WO2011081843A2 (en) 2011-07-07
EP2519953A4 (en) 2017-08-09
WO2011081843A3 (en) 2011-11-10
JP2012529721A (ja) 2012-11-22

Similar Documents

Publication Publication Date Title
KR101405690B1 (ko) 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅
Kim et al. The DRAM latency PUF: Quickly evaluating physical unclonable functions by exploiting the latency-reliability tradeoff in modern commodity DRAM devices
US7181659B2 (en) Memory built-in self test engine apparatus and method with trigger on failure and multiple patterns per load capability
US8725485B2 (en) Simulation method and simulation apparatus
US9009531B2 (en) Memory subsystem data bus stress testing
JP6741585B2 (ja) プログラム可能な遅延を用いてダイナミックランダムアクセスメモリ(dram)コマンドを生成するメモリ物理レイヤインタフェースロジック
US20060190239A1 (en) Method and system for hardware based reporting of assertion information for emulation and hardware acceleration
US6978322B2 (en) Embedded controller for real-time backup of operation states of peripheral devices
US8954803B2 (en) Programmable test engine (PCDTE) for emerging memory technologies
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
US20140157055A1 (en) Memory subsystem command bus stress testing
JP2021528932A (ja) 高速ハードウェア送信等化
US20130031281A1 (en) Using a dma engine to automatically validate dma data paths
US7523367B2 (en) Method and apparatus to verify non-deterministic results in an efficient random manner
CN116205174A (zh) 一种基于uvm的异步微处理器验证方法及系统
US20150316613A1 (en) Multi-bank digital stimulus response in a single field programmable gate array
US20140122955A1 (en) Prbs test memory interface considering ddr burst operation
WO2017152534A1 (zh) 一种获取ddr odt参数的方法和装置
TWI661208B (zh) 測試裝置及其測試電路板
US8560907B1 (en) Debugging external interface
JP5625241B2 (ja) 半導体装置及びその試験方法
KR100511893B1 (ko) 칩 테스트 회로
Hu et al. Design of on-chip debug module based on MCU
Bonatto et al. DDR SDRAM Memory Controller Validation for FPGA Synthesis
CN115374732A (zh) 针对低温多芯片计算系统的模拟方法及其系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 6