KR20240037861A - 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경 - Google Patents

저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경 Download PDF

Info

Publication number
KR20240037861A
KR20240037861A KR1020230122600A KR20230122600A KR20240037861A KR 20240037861 A KR20240037861 A KR 20240037861A KR 1020230122600 A KR1020230122600 A KR 1020230122600A KR 20230122600 A KR20230122600 A KR 20230122600A KR 20240037861 A KR20240037861 A KR 20240037861A
Authority
KR
South Korea
Prior art keywords
low
test
duts
power
performance processor
Prior art date
Application number
KR1020230122600A
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
Priority claimed from US18/229,965 external-priority patent/US20240094287A1/en
Application filed by 주식회사 아도반테스토 filed Critical 주식회사 아도반테스토
Publication of KR20240037861A publication Critical patent/KR20240037861A/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/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/01Subjecting similar articles in turn to test, e.g. "go/no-go" tests in mass production; Testing objects at points as they pass through a testing station
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/286External aspects, e.g. related to chambers, contacting devices or handlers
    • G01R31/2868Complete testing stations; systems; procedures; software aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • G06F11/2236Detection 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 to test CPU or processors
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Environmental & Geological Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

테스터 시스템은 복수의 테스트 대상 장치(DUT)의 테스트를 조정하고 제어하기 위한 테스트 컴퓨터 시스템과 테스트 컴퓨터 시스템에 연결되고 테스트 컴퓨터 시스템에 의해 제어되는 하드웨어 인터페이스 모듈을 포함하며, 하드웨어 인터페이스 모듈은 복수의 DUT에 테스트 입력 신호를 인가하도록 동작 가능하고, 복수의 DUT로부터 테스트 출력 신호를 수신하도록 동작 가능하다. 하드웨어 인터페이스 모듈은 명령어 및 데이터를 저장하기 위한 메모리, 메모리에 연결된 고성능 프로세서를 포함하고, 고성능 프로세서는 복수의 DUT에 테스트 신호를 인가하기 위해 고속으로 테스트 기능을 수행하도록 동작 가능하고, 고성능 프로세서는 복수의 DUT에 대한 테스트 신호의 인가를 위해 고속으로 테스트 기능을 수행하도록 동작 가능하고, 고성능 프로세서는 메모리로부터의 명령어 및 데이터의 제어 하에 그리고 테스트 컴퓨터 시스템으로부터의 소프트웨어 커맨드의 제어 하에 테스트 기능을 수행하도록 동작 가능하고, 또한 고성능 프로세서는 기본적으로 저전력 모드 동작이 가능하지 않다. 테스트 시스템은 또한 고성능 프로세서 외부에 결합된 저전력 모듈을 포함하고, 저전력 모듈은 적어도 하나의 저전력 모드에서 동작 가능하고, 고성능 프로세서는 저전력 모듈로 하여금 복수의 DUT를 적어도 하나의 저전력 모드로 구성하도록 지시하고 또한 저전력에서 커맨드와 데이터를 사용하여 복수의 DUT를 테스트한다. 테스트 시스템은 또한 테스트 동안 저전력 동작을 위해 구성된 복수의 DUT에게 저전력에서 커맨드와 데이터를 인가하기 위한 드라이버 하드웨어를 포함한다.

Description

저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경{LOW POWER ENVIRONMENT FOR HIGH PERFORMANCE PROCESSOR WITHOUT LOW POWER MODE}
관련 출원
본 출원은 De La Puente 등의 2022년 9월 15일에 출원된 미국 가특허 출원 63/407,074(대리인 문서번호 ATSY-0109-00.00US)에 대한 우선권을 주장한다. 본 출원은 De La Puente 등의 2023년 1월 23일에 출원된 미국 가특허 출원 63/440,597(대리인 문서번호 ATSY-0109-01.01US)에 대한 우선권을 주장한다. 본 출원은 2013년 2월 21일에 출원된 미국 특허 출원 번호 13/773,569(현재 미국 특허 10,162,007)와 관련되어 있다. 본 출원은 또한 2018년 3월 7일에 출원된 미국 특허 출원 번호 15/914,553(현재 미국 특허 11,009,550)과 관련되어 있다. 또한, 본 출원은 2018년 5월 17일에 출원된 미국 특허 출원 번호 15/982,910(현재 미국 특허 10,288,681)과 관련되어 있다. 본 출원은 또한 2020년 12월 28일에 출원된 미국 특허 출원 번호 17/135,731 및 17/135,790과 관련되어 있다. 이러한 모든 출원은 그 전체 내용이 참조로 본 명세서에 포함된다.
기술 분야
본 발명의 실시예는 전자제품의 제조 및 테스트 분야에 관한 것이다. 보다 구체적으로, 본 발명의 실시예는 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 시스템 및 방법에 관한 것이다.
자동화 테스트 장비(ATE)는 반도체 장치 또는 전자 어셈블리에 대한 테스트를 수행하는 임의의 테스트 어셈블리일 수 있다. ATE 어셈블리는 신속하게 측정을 수행하고 분석할 수 있는 테스트 결과를 생성하는 자동화된 테스트를 실행하는 데 사용될 수 있다. ATE 어셈블리는 시스템 온 칩(SOC) 테스트, 집적 회로 테스트, 네트워크 인터페이스 및/또는 솔리드 스테이트 드라이브(SSD)와 같은 전자 부품을 자동으로 테스트하는 것 및/또는 반도체 웨이퍼 테스트를 할 수 있는 맞춤형 전용 컴퓨터 제어 시스템과 다양한 테스트 장비를 포함할 수 있는 복잡한 자동 테스트 어셈블리를 포함할 수 있다. ATE 시스템은 장치 테스트에 소요되는 시간을 줄여 장치가 설계된 대로 작동하는지 확인하고 장치가 소비자에게 도달하기 전에 해당 장치 내에 결함이 있는 컴포넌트가 있는지 판단하는 진단 도구 역할을 한다.
테스트 대상 장치(Devices Under Test, DUT)의 테스트는 일반적으로 일련의 테스트 패턴 또는 "벡터"를 전송하여 장치를 자극하고 장치의 응답을 수집하는 것을 포함한다. 네트워크 인터페이스, 범용 직렬 버스(USB) 어댑터 및/또는 SSD와 같은 복잡한 어셈블리의 경우 이러한 테스트 패턴은 섹터 주소 및 "데이터"를 "읽기" 또는 "쓰기"하는 것과 같은 하이 레벨 명령어의 형태를 취할 수 있다. 기존에는 알고리즘 패턴 생성기(Algorithmic Pattern Generator, APG)와 하드웨어 가속기를 사용하여 하드웨어에서 장치를 테스트하는 데 사용되는 패턴과 워크로드를 생성해 왔다. 예를 들어, 하드웨어 기반 APG는 데이터 패턴을 생성하고, 특정 주소 또는 주소 범위에 데이터를 쓰라는 명령을 예컨대 SSD 등으로 송신하고, 그 데이터를 다시 읽는다. APG는 일반적으로 트랜잭션에 대한 성능 데이터를 수집하고, 기록된 데이터를 수신된 데이터와 비교하여 오류를 감지한다. 이를 통해 테스트 시스템은 테스터가 병목 현상을 일으키지 않는 DUT의 최대 속도로 데이터를 생성할 수 있었다.
또한, 종래 기술에서는 많은 DUT가 SAS(Serial Attached SCSI), SATA(Serial AT Attachment), SPI(Serial Peripheral Interface), 내부 집적 회로(Inter-Integrated Circuit, I2C), 범용 직렬 버스(USB)등과 같은 표준 "주변 장치" 인터페이스 상에서 작동한다. 이러한 인터페이스에는 일반적으로 PCIe(Peripheral Component Interconnect Express)와 같은 보다 일반적인 용도의 "메인" 또는 "프로세서" 버스로부터의 변환 전자 장치가 필요하다.
이들 설계는 시장 출시 시간을 단축하고 설계 유연성을 달성하기 위해 일반적으로 FPGA(Field-Programmable Gate Array)에서 구현되었다.
성능이 향상됨에 따라 점점 더 많은 컴퓨터 주변 장치가 특수 버스 인터페이스를 버리고 "메인" 버스 인터페이스(예컨대, PCIe)를 채택하고 있다. 예를 들어, 고성능 SSD는 SATA(Serial AT Attachment) 인터페이스에서 "M.2" PCIe 인터페이스로 마이그레이션되고 있다. 기존 기술 테스터에 사용되는 FPGA는 이러한 새로운 장치를 테스트하는 데 필요한 증가된 데이터 속도를 따라잡을 수 없으며, FPGA는 PCIe "5세대" 및/또는 PCIe CXL과 같은 메인 버스 프로토콜을 구현하는 데 더욱 어려움을 겪는다.
최신 ATE 시스템은 DUT를 테스트하기 위한 패턴, 명령어 및/또는 작업 부하를 생성하기 위해 위에서 설명한 FPGA 대신 고성능 프로세서(들)를 사용할 수 있다. 이러한 고성능 프로세서는 "서버", "워크스테이션", "HCC(High Core Count)" 및/또는 "엔터프라이즈" 프로세서로 알려지거나 지칭될 수 있다. 이러한 프로세서의 한 가지 예로는 Intel® Xeon® "Sapphire Rapids" 프로세서 제품군이 있다. 이러한 고성능 프로세서는 일반적으로 여러 개의 고급 테스트 대상 장치(DUT)를 테스트하는 데 필요한 데이터 생성 및 데이터 전송 속도를 달성하는 데 필요하다. 불행하게도 이러한 고성능 프로세서는 일반적으로 예컨대 PCIe와 같은 "메인" 버스 인터페이스를 위한 저전력 모드에 대한 지원이 부족하다. 예를 들어, 고성능 프로세서용 타겟 시스템은 성능에 최적화되어 있으며 일반적으로 저전력 모드를 구현하지 않는다. 그러나 저전력 모드를 구현하는 DUT의 경우 이러한 저전력 모드를 테스트하는 것이 매우 중요하다.
따라서, 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 테스터 시스템 및 방법이 필요하다. 추가적으로 필요한 것은, 저전력 모드를 구현하는 장치를 테스트할 수 있는 저전력 모드 지원이 부족한 고성능 프로세서에 대한 저전력 환경을 위한 테스터 시스템 및 테스트 방법이다. 전자 장치를 테스트하는 기존 시스템 및 방법과 호환 가능하고 보완적인 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 시스템 및 방법이 또한 필요하다.
본 발명의 실시예에 따르면, 테스터 시스템은 복수의 테스트 대상 장치(DUT)의 테스트를 조정하고 제어하기 위한 테스트 컴퓨터 시스템과, 테스트 컴퓨터 시스템에 연결되고 테스트 컴퓨터 시스템에 의해 제어되는 하드웨어 인터페이스 모듈을 포함하고, 하드웨어 인터페이스 모듈은 복수의 DUT에 테스트 입력 신호를 인가하도록 동작 가능하고 복수의 DUT로부터 테스트 출력 신호를 수신하도록 동작 가능하다. 하드웨어 인터페이스 모듈은 명령어와 데이터를 저장하는 메모리와, 메모리에 연결된 고성능 프로세서를 포함하고, 고성능 프로세서는 복수의 DUT로 테스트 신호의 인가를 위해 고속으로 테스트 기능을 수행하도록 동작 가능하고, 고성능 프로세서는 메모리로부터의 명령어 및 데이터의 제어 하에 그리고 테스트 컴퓨터 시스템으로부터의 소프트웨어 커맨드로부터의 제어 하에 테스트 기능을 수행하도록 동작 가능하고, 또한 고성능 프로세서는 기본적으로 저전력 모드 동작이 가능하지 않다. 테스트 시스템은 또한 고성능 프로세서에 대해 외부에서 연결되는 저전력 모듈을 포함하고, 저전력 모듈은 적어도 하나의 저전력 모드에서 동작 가능하고, 고성능 프로세서는 저전력 모듈로 하여금 복수의 DUT를 적어도 하나의 저전력 모드로 구성하도록 지시하고 또한 저전력에서 커맨드와 데이터를 사용하여 복수의 DUT를 테스트한다. 테스트 시스템은 또한 테스트 동안 저전력 동작을 위해 구성된 복수의 DUT에게 저전력에서 커맨드와 데이터를 인가하기 위한 드라이버 하드웨어를 포함한다.
실시예는 위의 내용을 포함하고 고성능 프로세서가 HCC(high core count) 프로세서인 것을 더 포함한다.
실시예는 위의 내용을 포함하고 HCC 프로세서가 16개와 32개 사이의 코어를 포함하는 것을 더 포함한다.
실시예는 위의 내용을 포함하고 HCC 프로세서가 N개의 코어를 포함하고 N은 규정된 테스트 성능에 기초하여 확장가능(scalable)한 것을 더 포함한다.
실시예는 위의 내용을 포함하고 메모리에 저장된 명령어가 컴퓨터 시스템에 의해 프로그래밍 가능하고 추가로 명령어가 고성능 프로세서의 동작을 제어하는 것을 더 포함한다.
본 발명의 방법 실시예에 따르면, 저전력 모드에서 복수의 테스트 대상 장치(DUT)를 테스트하는 방법으로서, 컴퓨터 시스템을 사용하여 복수의 테스트 대상 장치(DUT)의 테스트를 조정 및 제어하는 단계와, 복수의 DUT를 저전력 모드로 구성하고, 복수의 DUT에 저전력 테스트 신호를 인가하고 복수의 DUT로부터 저전력 출력 테스트 신호를 수신하는 단계를 포함한다. 구성, 인가 및 수신은 하드웨어 인터페이스 모듈에 의해 수행되고, 또한 복수의 DUT를 테스트하기 위한 테스트 벡터를 자동으로 생성하기 위해 컴퓨터 시스템과 통신하는 고성능 프로세서를 사용하는 것 - 여기서 테스트 벡터는 컴퓨터 시스템으로부터의 제어 하에 생성되고, 또한 고성능 프로세서는 기본적으로 저전력 모드 동작을 할 수 없음 - 과, 고성능 프로세서 외부에 있고 고성능 프로세서와 복수의 DUT 사이에 연결된 저전력 모듈을 사용하여, 복수의 DUT를 저전력 모드로 구성하고, 저전력 테스트 신호를 복수의 DUT에 제공하고, 저전력 모드에서 테스트하기 위해 복수의 DUT로부터 저전력 출력 테스트 신호를 수신하게 하는 것을 포함한다.
실시예는 위의 내용을 포함하고 고성능 프로세서가 HCC(high core count) 프로세서인 것을 더 포함한다.
실시예는 위의 내용을 포함하고 HCC 프로세서가 16개에서 32개 사이의 코어를 포함하는 것을 더 포함한다.
실시예는 위의 내용을 포함하고 HCC 프로세서가 N개의 코어를 포함하고 N은 규정된 테스트 성능에 기초하여 확장가능한 것을 더 포함한다.
실시예는 위의 내용을 포함하고 복수의 DUT가 ASIC 장치인 것을 더 포함한다.
실시예는 위의 내용을 포함하고 복수의 DUT가 메모리 장치인 것을 더 포함한다.
본 명세서에 포함되어 본 명세서의 일부를 형성하는 첨부 도면은 본 발명의 실시예를 예시하고, 설명과 함께 본 발명의 원리를 설명하는 역할을 한다. 별도의 언급이 없는 한, 도면은 일정 비율로 그려지지 않을 수 있다.
도 1은 본 발명의 실시예에 따른 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경을 위한 예시적인 시스템의 예시적인 블록도를 도시한다.
도 2는 본 발명의 실시예에 따른 테스트 시스템에 대한 예시적인 L1.1 및 L2.2 인에이블 조건을 도시한다.
도 3은 본 발명의 실시예에 따른 L1.1 종료에 대한 예시적인 타이밍을 도시한다.
도 4는 본 발명의 실시예에 따른 L1 하위 상태로 들어오고 나가는 클록 신호 REFCLK의 예시적인 제어를 도시한다.
도 5는 본 발명의 실시예에 따른 예시적인 저전력 모드 제어 로직을 도시한다.
도 6은 본 발명의 실시예에 따른 저전력 모드 동안 복수의 테스트 대상 장치(DUT)를 테스트하는 예시적인 방법을 도시한다.
도 7은 본 발명의 실시예를 위한 제어 시스템 및/또는 구현을 위한 플랫폼으로서 사용될 수 있는 예시적인 전자 시스템의 블록도를 도시한다.
이제 본 발명의 다양한 실시예를 상세히 참조할 것이며, 그 예는 첨부 도면에 도시되어 있다. 본 발명은 이들 실시예와 관련하여 기술될 것이지만, 본 발명이 이들 실시예로 제한되도록 의도되지는 않는다는 것이 이해된다. 반대로, 본 발명은 첨부된 청구범위에 의해 정의된 본 발명의 사상 및 범위 내에 포함될 수 있는 대안, 수정 및 균등물을 포괄하도록 의도된다. 또한, 본 발명의 다음의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위해 다양한 특정 세부사항이 제시된다. 그러나, 본 발명이 이러한 특정 세부사항 없이도 실시될 수 있다는 것이 통상의 기술자에 의해 인식될 것이다. 다른 경우에, 잘 알려진 방법, 절차, 컴포넌트 및 회로는 본 발명의 측면을 불필요하게 모호하게 하지 않기 위해 자세히 설명되지 않았다.
다음의 상세한 설명(예를 들어, 방법(600))의 일부 부분은 컴퓨터 메모리에서 수행될 수 있는 데이터 비트에 대한 동작의 절차, 단계, 로직 블록, 프로세싱 및 기타 기호 표현의 관점에서 제시된다. 이러한 설명과 표현은 데이터 프로세싱 기술 분야의 통상의 기술자가 자신의 작업 내용을 그 기술 분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 사용하는 수단이다. 절차, 컴퓨터 실행 단계, 로직 블록, 프로세스 등은 여기서 일반적으로 원하는 결과를 이끌어내는 일관된 단계 또는 명령의 시퀀스로 간주된다. 단계는 물리량의 물리적 조작이 필요한 단계이다. 반드시 필수적인 것은 아니지만, 일반적으로 이러한 양은 컴퓨터 시스템에서 저장, 전송, 결합, 비교 및 기타 조작이 가능한 전기 또는 자기 신호의 형태를 취한다. 주로 일반적인 사용으로 인해 이러한 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자, 데이터 등으로 지칭하는 것이 편리하다고 입증되어 왔다.
그러나 이들 및 유사한 용어 모두는 적절한 물리적 양과 연관되는 것이며 단지 이러한 양에 적용되는 편리한 라벨일 뿐이라는 점을 염두에 두어야 한다. 다음 논의로부터 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 본 발명 전반에 걸쳐서 "적용" 또는 "제어" 또는 "생성" 또는 "테스트" 또는 "가열" 또는 "가져오는" 또는 "캡처" 또는 "저장" 또는 "읽기" 또는 "분석" 또는 "해결" 또는 "수락" 또는 "선택" 또는 "결정" 또는 "디스플레이" 또는 "제시" 또는 "컴퓨팅" 또는 "송신" 또는 "수신" 또는 "감소" 또는 "검출" 또는 "설정" 또는 "액세스" 또는 "배치" 또는 "형성" 또는 "장착" 또는 "제거" 또는 "중지" 또는 "정지" 또는 "코팅" 또는 "프로세싱" 또는 "수행" 또는 "조정 " 또는 "생성" 또는 "실행" 또는 "계속" 또는 "인덱싱" 또는 "번역" 또는 "계산" 또는 "측정" 또는 "수집" 또는 "실행" 등과 같은 용어를 사용하는 논의는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자적) 양으로 표현된 데이터를 컴퓨터 시스템 메모리나 레지스터 또는 기타 정보 저장, 전송 또는 디스플레이 장치 내의 물리적인 양으로서 유사하게 표현된 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스를 나타낸다.
"비일시적 컴퓨터 판독가능 매체"의 의미는 In re Nuijten, 500 F.3d 1346, 1356-57(Fed. Cir. 2007) 사건에서의 35 U.S.C. §101에 따른 특허적격 대상의 범주에 속하지 않는 일시적 컴퓨터 판독가능 매체만을 배제하는 것으로 이해되어야 한다. 이 용어의 사용은 청구 범위에서 일시적 신호 그 자체를 전파하는 것만을 제거하는 것으로 이해되어야 하며, 일시적 신호 자체를 전파할 뿐만 아니라 모든 표준 컴퓨터 판독가능 매체에 대한 권리를 포기하지 않는 것으로 이해되어야 한다.
다음의 설명에서, 본 발명에 따른 실시예의 다양한 요소 및/또는 특징은 이러한 특징을 더 잘 설명하고 본 발명의 양상을 불필요하게 모호하게 하지 않도록 별도로 제시된다. 그러나, 예를 들어 첫 도면과 관련하여 개시된 이러한 특징은 다양한 조합으로 다른 도면에 개시된 다른 특징과 결합될 수 있다는 것이 인식되어야 한다. 이러한 모든 실시예는 예상되고 고려되며, 본 발명에 따른 실시예를 나타낼 수 있다.
본 발명에 따른 예시적인 실시예는 일반적으로 PCIe(Peripheral Component Interconnect Express) 컴퓨터 확장 버스 표준과 관련하여 본 명세서에 제시된다. 본 발명에 따른 실시예는 예시된 PCIe 실시예로 제한되지 않는다는 것이 인식되어야 한다. 오히려, 본 발명에 따른 실시예는 예를 들어 CXL(Compute Express Link), InfiniBand, RapidIO, HyperTransport, Intel QuickPath Interconnect, VMEbus(ANSI/IEEE 1014-1987) 및/또는 MIPI(Mobile Industry Processor Interface)를 포함하는 광범위한 다른 잘 알려진 컴퓨터 확장 버스와 함께 사용하기에 매우 적합하고, 이들 실시예는 본 발명의 범위 내에 속하는 것으로 고려된다.
저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경
도 1은 본 발명의 실시예에 따른, 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경을 위한 예시적인 시스템(100)의 예시적인 블록도를 도시한다. 테스트 시스템(100)은 예를 들어 테스트 애플리케이션을 위한 특수 프로그래밍을 갖춘 범용 컴퓨터 시스템일 수 있는 테스트 제어기(110)를 포함한다. 테스트 시스템(100)은 또한 CPU(130)를 포함한다. CPU(130)는 일부 실시예에서 추가적인 집적 회로 장치를 포함하는 버스, 예를 들어 PCIe, 지원 컴포넌트를 포함할 수 있다. CPU(130)는 "서버", "워크스테이션", "HCC(High Core Count)" 및/또는 "엔터프라이즈" 프로세서로 알려지거나 지칭될 수 있다. 이러한 프로세서의 한 가지 예로는 Intel® Xeon® "Sapphire Rapids" 프로세서 제품군이 있다. 일부 실시예에서 CPU(130)는 16 내지 32개의 코어를 포함할 수 있다. 일부 실시예에서, CPU(130)는 32개 이상의 코어를 포함할 수 있다. 예를 들어, 56개 코어로 구성된 프로세서가 현재 이용가능하다. 일부 실시예에서, CPU(130)의 코어 수는 미리 정해진 테스트 성능에 기초하여 확장 가능하거나 선택될 수 있다.
CPU(130)는 메모리(132)에 연결된다. 일부 실시예에서 메모리(132)는 고대역폭 메모리(HBM)를 포함할 수 있다. 메모리(132)는 임의의 잘 알려진 방식으로 CPU(130)에 연결될 수 있다. 예를 들어, 메모리(132)는 CPU(130)에 직접 연결될 수 있고, 메모리(132)는 "칩셋"을 통해 CPU(130)에 연결될 수 있으며, 및/또는 메모리(132)는 버스(135)를 통해 CPU(130)에 연결될 수 있다.
CPU(130)는 기능적으로 PCIe 버스(135)에 결합된다. CPU(130) 또는 다른 연관된 버스 제어 컴포넌트는 일부 실시예에서 REFCLK 신호를 생성할 수 있다. 일부 실시예에서, REFCLK는 다양한 PCIe 실시예에 대해 알려진 바와 같이 다른 소스, 예를 들어 클록 모듈에 의해 제공될 수 있다.
PCIe 표준은 전송 및 수신 장치 모두에서 1, 2, 3 및 4세대에 대해 최소 ±300ppm 주파수 안정성을 갖고 5세대에 대해 최소 ±100ppm 주파수 안정성을 갖는 100MHz 클록(REFCLK)을 지정한다. 아래에서 자세히 설명하겠지만 REFCLK는 PCIe 저전력 모드에서 중요한 역할을 한다.
CPU(130)는 PCIe 버스(135)를 통해 복수의 리타이머, 예를 들어 리타이머(140, 160)에 연결된다. 예시된 리타이머의 수는 예시이다. 일반적으로, PCIe 리타이머는 루트 컴플렉스(예컨대, PCIe 버스(135))와 엔드포인트(예컨대, PCIe 버스(145)) 사이의 통신을 용이하게 하기 위해 PCIe 프로토콜에 적극적으로 참여하는 신호 조건화 장치(signal conditioning device)이다. 시스템에서 향상된 신호 무결성을 제공함으로써, 리타이머 허용되는 최대 PCIe 트레이스 길이를 늘리고 시스템 설계에 더 많은 유연성을 허용한다. 예시적인 리타이머에는 미국 캘리포니아주 산타클라라 소재의 Astera Labs에서 시판되는 PT5161L PCI Express® 리타이머를 포함할 수 있다.
리타이머(140)는 PCIe 버스(135)를 기능적으로 미러링하는 PCIe 버스(145)를 생성한다. 예를 들어, PCIe 버스(145)에 결합된 장치는 PCIe 버스(135) 상의 장치, 예를 들어 CPU(130)에 기능적으로 결합된다. 유사하게, 리타이머(160)는 PCIe 버스(165)를 생성하고, 이는 기능적으로 PCIe 버스(135)를 미러링한다.
복수의 테스트 대상 장치(DUT), 예를 들어 DUT(150A) 내지 DUT(150N)은 PCIe 버스(145)에 연결된다. 마찬가지로, 테스트 대상 장치(DUT), 예를 들어 DUT(150A) 내지 DUT(150N)은 PCIe에 연결된다. 일부 실시예에서는 8개의 DUT가 단일 CPU, 예를 들어 CPU(130)에 연결될 수 있다. 일부 실시예에서는 추가 CPU가 도 1에 도시된 것과 유사한 방식으로 추가 리타이머 및 추가 DUT에 연결될 수 있다. 예를 들어, 2개의 CPU 실시예에서는 4개의 리타이머(예를 들어 CPU당 2개)와 16개의 DUT(예를 들어 CPU당 8개)가 있을 수 있다.
CPU(130)는 예를 들어 소프트웨어를 통해 테스트 대상 장치, 예를 들어 DUT(150A)의 전기적 및 기능적 성능과 특성을 테스트하도록 구성된다. 예를 들어, CPU는 DUT로 송신할 데이터와 커맨드를 생성하고 DUT로부터 결과를 수신한다.
예시적인 SSD(Solid State Drive) DUT 실시예에서, CPU(130)는 PCIe 버스(135)를 통해 SSD DUT에 "쓰기" 커맨드를 발행할 수 있다. CPU(130)는 SSD에 의해 저장될 대용량의 데이터를 SSD로 송신하거나 쓸 수 있다. 일부 실시예에서, CPU(130)는 알고리즘 또는 CPU(130) 상에서 동작하는 알고리즘 패턴 생성기(APG) 소프트웨어를 통해 데이터를 생성할 수 있다. 일부 실시예에서, CPU(130)는 CPU(130)에 결합된 컴퓨터 판독가능 매체, 예를 들어 DRAM으로부터 데이터에 액세스할 수 있다. CPU(130)는 일반적으로 이전에 기록된 데이터를 다시 읽기 위해 SSD에 "읽기" 커맨드를 발행할 것이다. 일부 실시예에서, CPU(130)는 데이터가 예를 들어 직접 메모리 액세스(DMA)를 통해 DUT로/로부터 메모리로부터/로 직접 송신 및/또는 수신되도록 할 수 있다. CPU(130)는 SSD로 송신된 데이터와 SSD로부터 수신된 데이터를 비교하여 SSD의 올바른 동작을 확인 및/또는 SSD의 오작동을 판단할 수 있다.
일부 실시예에서, 테스트 시스템(100)은 또한 복수의 DUT에 대한 전기, 전력 및/또는 환경 테스트를 수행할 수 있다. 그러한 테스트는 미국 캘리포니아주 산호세에 소재한 Advantest America, Inc.에서 상업적으로 이용가능한 MPT3000ARC 테스트 시스템에서 알려져 있다.
테스트 시스템(100)은 메인 버스, 예를 들어 PCIe 버스에서 작동하도록 구성된 임의의 장치를 테스트하는 데 매우 적합하다. 이러한 예시적인 장치는 예를 들어 SSD, DRAM 모듈, 회전 매체에 대한 인터페이스, 예를 들어 광학 드라이브 및 자기 하드 드라이브(HDD), RAID(Redundant Array of Independent Disks) 제어기, LAN을 포함한 네트워크 인터페이스 카드(NIC), 예컨대 WIFI, 광역 네트워크(WAN) 및/또는 광섬유 인터커넥트, 그래픽 카드, 사운드 카드, 모뎀, 스캐너, 비디오 캡처 카드, USB 인터페이스, 보안 디지털(SD) 카드 인터페이스, TV 튜너 등을 포함할 수 있다.
PCIe 5세대는 전력 제어 방식에 대해 "L1 하위 상태"로 알려지거나 지칭되는 것을 구현했다. 신호 프로토콜을 제공하기 위해 PCIe 핀 "CLKREQ#"에 새로운 기능이 추가된다. 이를 통해 PCIe 트랜시버는 고속 회로를 끄고 새로운 신호에 의존하여 다시 깨울 수 있다. 두 가지 새로운 하위 상태 L1.1과 L1.2 가 정의되고, 이들은 자체 전력 대 종료 지연 사이의 트레이드오프 선택을 제공한다. L1.1 하위 상태는 20마이크로초 정도(허용되는 L1 상태보다 5 내지 10배 더 김)의 재개 시간을 목표로 하는 반면, L1.2 하위 상태는 100마이크로초 정도(L1에 허용된 것보다 최대 50배 더 김)의 시간을 목표로 한다. L1.1과 L1.2는 모두 PCIe 트랜시버가 그들의 수신기 및 전송기와 함께 위상 고정 루프(PLL)를 끌 수 있도록 허용하는 반면, L1.2는 공통 모드 키퍼 회로를 끌 수 있도록 허용한다.
L1.1 및/또는 L1.2 저전력 상태를 구현하기 위해, "업스트림" 및 "다운스트림" 포트 모두 CLKREQ# 신호의 로직 상태를 모니터링할 수 있다. CPU(130)는 L1 저전력 하위 상태(L1.1, L1.2)를 지원하지 않는다는 것이 이해된다. CPU(130)는 CLKREQ# 신호/핀에 액세스하는 것으로 도시되지 않는다. 따라서 CPU(130)는 기본적으로 L1.1 및/또는 L1.2 저전력 모드를 지원할 수 없다. 그러나 다양한 컴퓨터 주변 장치는 L1 저전력 하위 상태를 활용하기를 원한다. 예를 들어, 이러한 장치는 예컨대 랩톱 컴퓨터 시스템과 같이 전력 소비가 중요한 시스템에 사용하도록 고안되었다. 이들 모드를 테스트하기 위해 테스트 시스템(100)은 저전력 모드 제어 로직(120)을 포함한다.
저전력 모드 제어 로직(120)은 CPU(130)와는 별도로 존재하며, 일부 실시예에서는 테스트 제어기(110)에 의해 제어될 수 있다. 저전력 모드 제어 로직(120)은 CLKREQ# 신호에 응답하여 기준 클럭 REFCLK를 제어하는 기능을 한다. 저전력 모드 제어 로직(120)은 L1 하위 상태가 인에이블되는지 여부를 나타내기 위한 저장소 위치, 예를 들어 레지스터 비트를 포함한다. 이들 레지스터는 아래 도 5와 관련하여 추가로 설명된다. 만약 L1.1 상태가 인에이블되고 L1.2 상태가 인에이블되지 않을 경우, 저전력 모드 제어 로직(120)은 전기적 유휴 감지 회로를 디스에이블함으로써 그리고 사용중인 REFCLK를 디스에이블함으로써 CLKREQ# 신호의 디어설션(deassertion)에 응답할 것이다. PCIe 버스 상의 임의의 장치, 예를 들어 리타이머(140) 및/또는 DUT(150A)는 CLKREQ#를 디어설션함으로써 L1 하위 상태 저전력 모드를 요청할 수 있다. 일부 실시예에서, 테스트 제어기(110)는 CLKREQ#를 디어설션함으로써 L1 하위 상태 저전력 모드에 진입하도록 저전력 모드 제어 로직(120)에게 명령할 수 있다. CLKREQ#의 디어설션에 응답하여, 저전력 모드 제어 로직(120)은 신호(122 및 124) REFCLK 인에이블을 디어설션할 것이고, 이는 게이트(126)를 끄고 REFCLK 신호가 장치, 예를 들어 리타이머(140) 및/또는 DUT(150A)로 전파되는 것을 허용하지 않을 것이다. 일부 실시예에서, 게이트(126)는 3상태(tri-state) 버퍼일 수 있다.
만약 L1.2 인에이블 비트가 설정되면, CLKREQ# 신호의 디어설션에 응답하여 L1.2 하위 상태로 진입한다.
테스트 시스템(100)은 DUT가 저전력 모드에 들어가고 나가는 것과 관련된 다양한 테스트 및/또는 측정을 수행할 수 있다. 예를 들어, 테스트 시스템(100)은 DUT가 저전력 모드에 있는 동안 전력 소비를 측정할 수 있다. 테스트 시스템(100)은 또한 DUT가 부분적으로 및/또는 완전히 기능할 때까지 DUT가 저전력 모드(들)에서 나오는 지연을 측정할 수 있다. CPU(130)는 복수의 DUT를 테스트하는 동안 다양한 저전력 모드를 구현 및/또는 실행할 수 없다는 것이 이해된다. 예를 들어, CPU(130)는 DUT가 저전력 모드에 있는 동안 명령어를 실행하고/하거나 다른 동작을 수행해야 할 수도 있다.
기존 기술에서 DUT는 메인 컴퓨터 확장 버스(예컨대, PCIe)를 보다 특수화된 주변 버스(예컨대, DUT에 의해 사용되는 범용 직렬 버스(USB), SAS(Serial Attached SCSI)) 및/또는 SATA(Serial AT Attachment) 등)으로 변환하는 하드웨어 버스 어댑터 소켓에 연결되어 있다. 본 발명의 실시예에 따르면, DUT는 메인 컴퓨터 확장 버스(예컨대, PCIe)에 연결된다.
도 2는 본 발명의 실시예에 따른 테스트 시스템(100)에 대한 예시적인 L1.1 및 L2.2 인에이블 조건을 도시한다. L1.1 및 L1.2 인에이블 비트는 PCIe 표준에 의해 구상한 대로 CPU 130 내에 포함되지 않다. 오히려, 이들 비트는 본 발명의 실시예에 따라 저전력 모드 제어 로직(120) 내에 포함된다.
L1 PM 하위 상태가 L1.0이고 LTSSM(Link Training and Status State Machine)이 PCI-PM 호환 전력 관리를 통해 L1에 진입한 경우, 링크는 PCI-PM(PCI Bus Power Management Interface Specification) L1.0에 있는 것으로 간주된다. Ll PM 하위 상태가 Ll.0이고 LTSSM이 ASPM을 통해 L1에 진입한 경우, 링크는 ASPM(Active State Power Management) 상태 L1.0에 있는 것으로 간주된다.
다음 규칙은 L1.1 및 L1.2 하위 상태에 진입되는 방법을 정의한다:
* 업스트림 및 다운스트림 포트 모두 CLKREQ# 신호의 로직 상태를 모니터링할 수 있다.
* PCI-PM Ll.0에서 그리고 PCI-PM Ll.2 인에이블 비트가 설정된 경우 CLKREQ#이 디어설션되면 Ll.2 하위 상태로 들어갈 수 있다.
* PCI-PM Ll.0에서 그리고 PCI-PM Ll.1 인에이블 비트가 설정된 경우 CLKREQ#이 디어설션되고 PCI-PM Ll.2 인에이블 비트가 지워지면 Ll.l 하위 상태로 들어갈 수 있다.
* ASPM Ll.0에서 그리고 ASPM Ll.2 인에이블 비트가 설정된 경우 CLKREQ#이 디어설션되고 다음 조건이 모두 참이면 Ll.2 하위 상태로 들어갈 수 있다.
o 이 포트에 의해 마지막으로 송신 또는 수신된 보고 스누핑 LTR 값(reported snooped LTR value)은 LTR_Ll.2_THRESHOLD 값 및 스케일 필드에 의해 설정된 값 이상이거나, 또는 스누프 서비스 지연 요구 사항이 없음.
o 이 포트 값에 의해 마지막으로 송신 또는 수신된 보고 스누핑되지 않은 LTR(reported non-snooped LTR)은 LTR_Ll.2_THRESHOLD 값 및 스케일 필드에 의해 설정된 값 이상이거나, 또는 비스누프 서비스 지연 요구 사항이 없음.
* ASPM Ll.0에서 그리고 ASPM Ll.l 인에이블 비트가 설정된 경우 CLKREC#이 디어설션되고 Ll.2 하위 상태에 들어가기 위한 조건이 충족되지 않으면 Ll.l 하위 상태에 들어갈 수 있다.
Ll.2에 대한 진입 조건이 만족되면, 다음 규칙이 적용된다:
* 업스트림 및 다운스트림 포트 모두 CLKREQ# 입력 신호의 로직 상태를 모니터링할 수 있다.
* 업스트림 포트는 링크가 L1.0에 들어갈 때까지 CLKREQ#을 디어설션할 수 없다.
* 링크가 Ll.2로 진입하는 것을 방지하기 위해 두 포트 모두 CLKREQ#을 어설션(assert)하는 것이 허용된다.
* Ll.2로의 진입을 차단하려는 다운스트림 포트는 링크가 L1로 진입하기 전에 CLKREQ#를 어설션할 수 있다.
* CLKREQ#이 디어설션되면 포트는 L1.2의 Ll.2.Entry 하위 상태로 들어간다.
도 3은 본 발명의 실시예에 따른 L1.1 종료에 대한 예시적인 타이밍을 도시한다. 만약 업스트림 또는 다운스트림 포트가 Ll.l에서 종료를 시작해야 하는 경우, 링크가 복구(Recovery)를 종료할 때까지 CLKREQ#를 어설션할 수 있다. 업스트림 포트는 복구 진입 시 CLKREQ#을 어설션할 수 있으며, g로의 다음 진입 또는 CLKREQ# 디어설션을 허용하는 다른 상태까지 CLKREQ#을 계속 어설션할 수 있다.
* 만약 CLKREQ#이 어설션되면 다음 상태는 Ll.0(L1)이다.
o REFCLK는 PCI Express Mini CEM 사양에 정의된 대로 결국 켜지게 되며 업스트림 포트에 의해 광고되는 LTR에 따라 지연될 수 있다.
도 4는 본 발명의 실시예에 따라 L1 하위 상태로 들어오고 나가는 클록 신호 REFCLK의 예시적인 제어를 도시한다. 업스트림 링크가 L1 링크 상태에 들어갈 때마다 CLKREQ#를 디어설션하여 참조 클럭이 꺼지도록 허용해야 한다. 종료하려면 장치가 CLKREQ#을 어설션하여 REFCLK를 다시 인에이블할 수 있다.
도 5는 본 발명의 실시예에 따른 예시적인 저전력 모드 제어 로직(510)을 도시한다. 일부 실시예에서 저전력 모드 제어 로직(510)은 저전력 모드 제어 로직(도 1)과 동등할 수 있다. 도 5는 또한 일부 실시예에서 저전력 모드 제어 로직(510) 외부에 있는 추가 회로(599)를 도시한다.
저전력 모드 제어 로직(510)은 DUT, 예를 들어 도 1에 설명된 DUT(150A)로부터의 CLKREQ가 클록 신호 REFCLK를 인에이블/디스에이블하도록 허용한다. 저전력 모드 제어 로직(510)은 또한 CLKREQ_OEN을 인에이블하여 DUT를 저전력 상태로 강제 전환한다.
도 6은 본 발명의 실시예에 따라 저전력 모드에서 복수의 테스트 대상 장치(DUT)를 테스트하는 예시적인 방법(600)을 도시한다. 610에서는, 복수의 테스트 대상 장치(DUT)의 테스트가 컴퓨터 시스템을 사용하여 조정되고 제어된다.
620에서, 복수의 DUT는 저전력 모드로 구성되고, 저전력 테스트 신호는 복수의 DUT에 인가되어 복수의 DUT로부터 저전력 출력 테스트 신호를 수신한다. 구성, 인가 및 수신은 하드웨어 인터페이스 모듈에 의해 수행된다.
630에서, 컴퓨터 시스템과 통신하는 고성능 프로세서는 복수의 DUT를 테스트하기 위한 테스트 벡터를 자동으로 생성한다. 테스트 벡터는 컴퓨터 시스템의 제어 하에 생성되며, 또한 고성능 프로세서는 기본적으로 저전력 모드 동작이 가능하지 않을 수 있다.
640에서, 고성능 프로세서와 복수의 DUT 사이에 연결된, 고성능 프로세서 외부의 저전력 모듈을 사용하여 복수의 DUT는 저전력 모드로 구성된다. 저전력 모듈은 저전력 모드에서의 테스트를 위해 복수의 DUT에 저전력 테스트 신호를 제공하고, 복수의 DUT로부터 저전력 출력 테스트 신호를 수신한다.
도 7은 예시적인 전자 시스템(700)의 블록도를 도시하는데, 이는 본 발명의 실시예에 관한 도 1에 설명된 바와 같이, 구현을 위한 플랫폼 및/또는 제어 시스템, 예를 들어 시스템 제어기(110) 및/또는 CPU(130)로서 사용될 수 있다. 일부 실시예에서 전자 시스템(700)은 "서버" 컴퓨터 시스템일 수 있다. 전자 시스템(700)은 정보 통신을 위한 주소/데이터 버스(750), 정보 및 명령어 프로세싱을 위해 버스와 기능적으로 결합된 중앙 프로세서 복합체(705)를 포함한다. 버스(750)는 예를 들어, PCIe(Peripheral Component Interconnect Express) 컴퓨터 확장 버스, 산업 표준 아키텍처(ISA), 확장된 ISA(EISA), 마이크로채널, 멀티버스, IEEE 796, IEEE 1196, IEEE 1496, PCI, CAMAC(Computer Automated Measurement and Control), MBus, 런웨이 버스, CXL(Compute Express Link) 등을 포함할 수 있다.
중앙 프로세서 복합체(705)는 일부 실시예에서 단일 프로세서 또는 다중 프로세서, 예를 들어 멀티 코어 프로세서 또는 다중 개별 프로세서를 포함할 수 있다. 중앙 프로세서 복합체(705)는 예를 들어 디지털 신호 프로세서(DSP), 그래픽 프로세서(GPU), 복합 명령어 세트(CISC) 프로세서, 축소 명령어 세트(RISC) 프로세서 및/또는 VLIW(very long word instruction set) 프로세서를 포함하는 다양한 유형의 잘 알려진 프로세서를 임의의 조합으로 포함할 수 있다. 일부 실시예에서, 예시적인 중앙 프로세서 복합체(705)는 예를 들어 하나 이상의 FPGA(field programmable gate array)(들)에서 실현되는 유한 상태 머신을 포함할 수 있으며, 이는 본 발명에 따른 실시예를 제어하기 위해 다른 유형의 프로세서와 함께 작동하고/하거나 이를 대체할 수 있다.
전자 시스템(700)은 또한 중앙 프로세서 복합체(705)에 대한 정보 및 명령어를 저장하기 위해 버스(750)와 연결된 휘발성 메모리(715)(예를 들어, 랜덤 액세스 메모리(RAM)) 및 프로세서 복합체(705)에 대한 정적 정보 및 명령어를 저장하기 위해 버스(750)와 연결된 비휘발성 메모리(710)(예를 들어, 읽기 전용 메모리(ROM))를 포함할 수 있다. 전자 시스템(700)은 또한 선택적으로 중앙 프로세서 복합체(705)에 대한 정보 및 명령어를 저장하기 위한 변경 가능한 비휘발성 메모리(720)(예컨대, NOR 플래시)를 포함하고, 이는 시스템(700)의 제조 후에 업데이트될 수 있다. 일부 실시예에서는 ROM(710) 또는 플래시(720) 중 하나만 존재할 수 있다.
도 7의 전자 시스템(700)에는 선택적 입력 장치(730)도 포함된다. 장치(730)는 정보 및 커맨드 선택을 중앙 프로세서(705)에 전달할 수 있다. 입력 장치(730)는 정보 및/또는 커맨드를 전자 시스템(700)에 전달하기 위한 임의의 적합한 장치일 수 있다. 예를 들어, 입력 장치(730)는 키보드, 버튼, 조이스틱, 트랙볼, 오디오 변환기, 예를 들어 마이크로폰, 터치 감지 디지타이저 패널, 안구 스캐너 및/또는 이와 유사한 것 등의 형태를 취할 수 있다.
전자 시스템(700)은 디스플레이 유닛(725)을 포함할 수 있다. 디스플레이 유닛(725)은 액정 디스플레이(LCD) 장치, 음극선관(CRT), 전계 방출 장치(FED, 평면 패널 CRT라고도 함), 발광 다이오드(LED), 플라즈마 디스플레이 장치, 전계 발광 디스플레이, 전자 종이, 전자 잉크(e-ink) 또는 사용자가 인식할 수 있는 그래픽 이미지 및/또는 영숫자 문자를 생성하는 데 적합한 기타 디스플레이 장치를 포함할 수 있다. 일부 실시예에서 디스플레이 유닛(725)은 연관된 조명 장치를 가질 수 있다.
전자 시스템(700)은 또한 선택적으로 버스(750)와 연결된 확장 인터페이스(735)를 포함한다. 확장 인터페이스(735)는 보안 디지털 카드 인터페이스, 범용 직렬 버스(USB) 인터페이스, 컴팩트 플래시, 개인용 컴퓨터(PC) 카드 인터페이스, CardBus, PCI(Peripheral Component Interconnect) 인터페이스, PCI Express(Peripheral Component Interconnect Express), 미니 PCI 인터페이스, IEEE 1394, SCSI(Small Computer System Interface), 개인용 컴퓨터 메모리 카드 국제 협회(PCMCIA) 인터페이스, ISA(Industry Standard Architecture) 인터페이스, RS-232 인터페이스 등을 포함하되 이에 제한되지 않는 많은 잘 알려진 표준 확장 인터페이스를 구현할 수 있다. 본 발명의 일부 실시예에서, 확장 인터페이스(735)는 버스(750)의 신호와 실질적으로 호환되는 신호를 포함할 수 있다.
매우 다양한 잘 알려진 장치가 버스(750) 및/또는 확장 인터페이스(735)를 통해 전자 시스템(700)에 부착될 수 있다. 이러한 장치의 예로는 회전 자기 메모리 장치, 플래시 메모리 장치, 디지털 카메라, 무선 통신 모듈, 디지털 오디오 플레이어, GPS(Global Positioning System) 장치 등을 포함하되 이에 제한되지 않는다.
시스템(700)은 또한 선택적으로 통신 포트(740)를 포함한다. 통신 포트(740)는 확장 인터페이스(735)의 일부로서 구현될 수 있다. 별도의 인터페이스로 구현될 때, 통신 포트(740)는 일반적으로 통신 지향 데이터 전송 프로토콜을 통해 다른 장치와 정보를 교환하는 데 사용될 수 있다. 통신 포트의 예로는 RS-232 포트, 범용 비동기 수신기 송신기(UART), USB 포트, 적외선 트랜시버, 이더넷 포트, IEEE 1394 및 동기 포트를 포함하되 이에 제한되지 않는다.
시스템(700)은 선택적으로 유선 또는 무선 네트워크 인터페이스를 구현할 수 있는 네트워크 인터페이스(760)를 포함한다. 일부 실시예에서 전자 시스템(700)은 추가적인 소프트웨어 및/또는 하드웨어 특징(도시되지 않음)을 포함할 수 있다.
시스템(700)의 다양한 모듈은 컴퓨터 판독가능 매체에 액세스할 수 있으며, 이 용어는 예를 들어 보안 디지털("SD") 카드, CD 및/또는 DVD ROM, 디스켓 등과 같은 이동식 매체뿐만 아니라, 예컨대 하드 드라이브, 솔리드 스테이트 드라이브(SSD), RAM, ROM, 플래시 등과 같은 비이동식 또는 내부 매체를 포함하는 것으로 알려져 있거나 이해된다.
본 발명에 따른 실시예는 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 시스템 및 방법을 제공한다. 또한, 본 발명에 따른 실시예는 저전력 모드를 구현하는 장치를 테스트할 수 있는 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 시스템 및 방법을 제공한다. 또한, 본 발명에 따른 실시예는 전자 장치를 테스트하는 기존 시스템 및 방법과 호환 가능하면서도 보완적인 저전력 모드에 대한 지원이 부족한 고성능 프로세서를 위한 저전력 환경을 위한 시스템 및 방법을 제공한다.
본 발명은 특정한 예시적인 실시예 또는 실시예들에 대해 도시되고 설명되었지만, 본 명세서 및 첨부된 도면을 읽고 이해할 때 통상의 기술자는 균등한 변경 및 수정을 할 수 있을 것이다. 특히, 위에 설명된 컴포넌트(어셈블리, 장치 등)에 의해 수행되는 다양한 기능과 관련하여, 해당 컴포넌트를 설명하는 데 사용된 용어("수단"에 대한 참조를 포함함)는 달리 표시되지 않는 한 임의의 컴포넌트에 해당하는 것으로서, 이는 본 명세서에 도시된 본 발명의 예시적인 실시예에서 지정된 기능을 수행하는 개시된 구조와 구조적으로 동일하지 않더라도 설명된 컴포넌트의 그 기능(예를 들어, 기능적으로 균등한 것)을 수행하는 것으로 의도된다. 또한, 본 발명의 특정 특징이 여러 실시예 중 하나에 대해서만 개시되었을 수 있지만, 이러한 특징은 임의의 주어진 또는 특정 응용에 대해 원하고 유리할 수 있는 다른 실시예의 하나 이상의 특징과 결합될 수 있다.
따라서, 본 발명의 다양한 실시예가 설명된다. 본 발명이 특정 실시예로 설명되었지만, 본 발명은 그러한 실시예에 의해 제한되는 것으로 해석되어서는 안 되며 오히려 아래의 청구범위에 따라 해석되어야 한다는 것이 이해되어야 한다.

Claims (20)

  1. 테스터 시스템으로서,
    복수의 테스트 대상 장치(DUT)의 테스트를 조정하고 제어하기 위한 테스트 컴퓨터 시스템과,
    상기 테스트 컴퓨터 시스템에 연결되고 상기 테스트 컴퓨터 시스템에 의해 제어되는 하드웨어 인터페이스 모듈 - 상기 하드웨어 인터페이스 모듈은 상기 복수의 DUT에 테스트 입력 신호를 인가하도록 동작 가능하고 상기 복수의 DUT로부터 테스트 출력 신호를 수신하도록 동작 가능함 -
    을 포함하되,
    상기 하드웨어 인터페이스 모듈은,
    명령어와 데이터를 저장하는 메모리와,
    상기 메모리에 연결된 고성능 프로세서 - 상기 고성능 프로세서는 상기 복수의 DUT로 테스트 신호의 인가를 위해 고속으로 테스트 기능을 수행하도록 동작 가능하고, 상기 고성능 프로세서는 상기 메모리로부터의 명령어 및 데이터의 제어 하에 그리고 상기 테스트 컴퓨터 시스템으로부터의 소프트웨어 커맨드로부터의 제어 하에 상기 테스트 기능을 수행하도록 동작 가능하고, 또한 상기 고성능 프로세서는 기본적으로 저전력 모드 동작이 가능하지 않음 - 와,
    상기 고성능 프로세서에 대해 외부에서 연결되는 저전력 모듈 - 상기 저전력 모듈은 적어도 하나의 저전력 모드에서 동작 가능하고, 상기 고성능 프로세서는 상기 저전력 모듈로 하여금 상기 복수의 DUT를 적어도 하나의 저전력 모드로 구성하도록 지시하고 또한 저전력에서 커맨드와 데이터를 사용하여 상기 복수의 DUT를 테스트함 - 와,
    상기 테스트 동안 저전력 동작을 위해 구성된 상기 복수의 DUT에게 저전력에서 상기 커맨드와 데이터를 인가하기 위한 드라이버 하드웨어를 포함하는
    테스터 시스템.
  2. 제1항에 있어서,
    상기 고성능 프로세서는 HCC(high core count) 프로세서인
    테스터 시스템.
  3. 제2항에 있어서,
    상기 HCC 프로세서는 16개에서 32개 사이의 코어를 포함하는
    테스터 시스템.
  4. 제2항에 있어서,
    상기 HCC 프로세서는 N개의 코어를 포함하고, N은 규정된 테스트 성능에 기초하여 확장가능(scalable)한
    테스터 시스템.
  5. 제1항에 있어서,
    상기 메모리에 저장된 상기 명령어는 상기 컴퓨터 시스템에 의해 프로그램 가능하며, 또한 상기 명령어는 상기 고성능 프로세서의 동작을 제어하는
    테스터 시스템.
  6. 저전력 모드에서 복수의 테스트 대상 장치(DUT)를 테스트하는 방법으로서,
    컴퓨터 시스템을 사용하여 상기 복수의 테스트 대상 장치(DUT)의 테스트를 조정 및 제어하는 단계와,
    상기 복수의 DUT를 저전력 모드로 구성하고, 상기 복수의 DUT에 저전력 테스트 신호를 인가하고 상기 복수의 DUT로부터 저전력 출력 테스트 신호를 수신하는 단계 - 상기 구성, 상기 인가 및 상기 수신은 하드웨어 인터페이스 모듈에 의해 수행됨 -
    를 포함하되,
    상기 구성, 상기 인가 및 상기 수신은,
    상기 복수의 DUT를 테스트하기 위한 테스트 벡터를 자동으로 생성하기 위해 상기 컴퓨터 시스템과 통신하는 고성능 프로세서를 사용하는 것 - 상기 테스트 벡터는 상기 컴퓨터 시스템으로부터의 제어 하에 생성되고, 또한 상기 고성능 프로세서는 기본적으로 저전력 모드 동작을 할 수 없음 - 과,
    상기 고성능 프로세서 외부에 있고 상기 고성능 프로세서와 상기 복수의 DUT 사이에 연결된 저전력 모듈을 사용하여, 상기 복수의 DUT를 저전력 모드로 구성하고, 상기 저전력 테스트 신호를 상기 복수의 DUT에 제공하고, 상기 저전력 모드에서 테스트하기 위해 상기 복수의 DUT로부터 상기 저전력 출력 테스트 신호를 수신하게 하는 것을 포함하는
    테스트 방법.
  7. 제6항에 있어서,
    상기 고성능 프로세서는 HCC(high core count) 프로세서인
    테스트 방법.
  8. 제7항에 있어서,
    상기 HCC 프로세서는 16개에서 32개 사이의 코어를 포함하는
    테스트 방법.
  9. 제7항에 있어서,
    상기 HCC 프로세서는 N개의 코어를 포함하고, N은 규정된 테스트 성능에 기초하여 확장가능한
    테스트 방법.
  10. 제6항에 있어서,
    상기 복수의 DUT는 ASIC 장치인
    테스트 방법.
  11. 제6항에 있어서,
    상기 복수의 DUT는 메모리 장치인
    테스트 방법.
  12. 전자 회로로서,
    복수의 저전력 모드에 대한 허가 상태를 나타내는 복수의 비트를 포함하는 레지스터와,
    상기 복수의 저전력 모드 중 적어도 하나에 대한 요청 및 상기 복수의 저전력 모드 중 적어도 하나에 대한 상기 허가 상태의 수신에 응답하여 다른 컴포넌트에 대한 클록 신호를 게이트 오프하도록 구성된 제어 로직
    을 포함하는 전자 회로.
  13. 제12항에 있어서,
    시스템에 대한 복수의 저전력 모드를 구현하도록 구성되고, 상기 시스템은 상기 복수의 저전력 모드 중 적어도 하나를 구현하지 않는 호스트 프로세서를 포함하는
    전자 회로.
  14. 제12항에 있어서,
    시스템에 대한 상기 복수의 저전력 모드는 PCIe L1.1 저전력 하위 상태를 포함하는
    전자 회로.
  15. 제14항에 있어서,
    시스템에 대한 상기 복수의 저전력 모드는 PCIe L1.2 저전력 하위 상태를 포함하는
    전자 회로.
  16. 자동화 테스트 장비(ATE) 시스템으로서,
    복수의 테스트 대상 장치(DUT)의 테스트를 조정하고 제어하는 테스트 컴퓨터 시스템과,
    상기 테스트 컴퓨터 시스템에 연결된 명령 및 데이터를 저장하는 메모리와,
    상기 메모리에 연결된 고성능 프로세서 - 상기 고성능 프로세서는 상기 메모리에 저장된 명령어에 기초하여 상기 복수의 DUT에 테스트 신호를 인가하기 위해 고속으로 테스트 기능을 수행하도록 동작 가능하고, 상기 고성능 프로세서는 기본적으로 상기 복수의 DUT의 모든 저전력 모드를 제어할 수 없음 - 와,
    상기 고성능 프로세서에 대해 외부에서 연결되는 저전력 모듈 - 상기 저전력 모듈은 상기 복수의 DUT를 상기 복수의 DUT의 상기 모든 저전력 모드로 제어하도록 구성됨 -
    을 포함하는 ATE 시스템.
  17. 제16항에 있어서,
    상기 복수의 DUT는 PCIe 버스에 연결되는
    ATE 시스템.
  18. 제17항에 있어서,
    상기 저전력 모듈은 PCIe L1.1 저전력 하위 상태를 제어하도록 구성되는
    ATE 시스템.
  19. 제17항에 있어서,
    상기 저전력 모듈은 PCIe L1.2 저전력 하위 상태를 제어하도록 구성되는
    ATE 시스템.
  20. 명령어를 저장하고 있는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어는 전자 시스템에 의한 실행에 응답하여, 상기 전자 시스템이 저전력 모드에 있는 동안 복수의 테스트 대상 장치(DUT)를 테스트하는 동작을 수행하게 하고, 상기 동작은,
    컴퓨터 시스템을 사용하여 상기 복수의 테스트 대상 장치(DUT)의 테스트를 조정 및 제어하는 동작과,
    상기 복수의 DUT를 저전력 모드로 구성하고, 상기 복수의 DUT에 저전력 테스트 신호를 인가하고 상기 복수의 DUT로부터 저전력 출력 테스트 신호를 수신하는 동작 - 상기 구성, 상기 인가 및 상기 수신은 하드웨어 인터페이스 모듈에 의해 수행됨 -
    을 포함하되,
    상기 구성, 상기 인가 및 상기 수신은,
    상기 복수의 DUT를 테스트하기 위한 테스트 벡터를 자동으로 생성하기 위해 상기 컴퓨터 시스템과 통신하는 고성능 프로세서를 사용하는 것 - 상기 테스트 벡터는 상기 컴퓨터 시스템으로부터의 제어 하에 생성되고, 또한 상기 고성능 프로세서는 기본적으로 저전력 모드 동작을 할 수 없음 - 과,
    상기 고성능 프로세서 외부에 있고 상기 고성능 프로세서와 상기 복수의 DUT 사이에 연결된 저전력 모듈을 사용하여, 상기 복수의 DUT를 저전력 모드로 구성하고, 상기 저전력 테스트 신호를 상기 복수의 DUT에 제공하고, 상기 저전력 모드에서 테스트하기 위해 상기 복수의 DUT로부터 상기 저전력 출력 테스트 신호를 수신하게 하는 것을 포함하는
    비일시적 컴퓨터 판독가능 매체.
KR1020230122600A 2022-09-15 2023-09-14 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경 KR20240037861A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263407074P 2022-09-15 2022-09-15
US63/407,074 2022-09-15
US18/229,965 2023-08-03
US18/229,965 US20240094287A1 (en) 2022-09-15 2023-08-03 Low power environment for high performance processor without low power mode

Publications (1)

Publication Number Publication Date
KR20240037861A true KR20240037861A (ko) 2024-03-22

Family

ID=90480992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230122600A KR20240037861A (ko) 2022-09-15 2023-09-14 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경

Country Status (1)

Country Link
KR (1) KR20240037861A (ko)

Similar Documents

Publication Publication Date Title
KR100909119B1 (ko) 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법
US9378846B2 (en) Non-mounted storage test device based on FPGA
US10795424B2 (en) Server power saving system and server power saving method
EP3274836B1 (en) System and method to enable closed chassis debug control interface using a usb type-c connector
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US10169287B2 (en) Implementing modal selection of bimodal coherent accelerator
JPH08180013A (ja) コンピュータシステム、pciバスクロック信号周波数における変化に応答してpciバス装置のコンフィギュレーションレジスタを再構成する方法、およびpciバス装置がpciバスと異なる動作速度を有することをオペレータに通知する方法
US7620747B1 (en) Software based native command queuing
US7000057B1 (en) Method and apparatus for adding OTG dual role device capability to a USB peripheral
US7225288B2 (en) Extended host controller test mode support for use with full-speed USB devices
US5701514A (en) System providing user definable selection of different data transmission modes of drivers of an I/O controller transmitting to peripherals with different data transmission rate
US6799278B2 (en) System and method for processing power management signals in a peer bus architecture
US20040141518A1 (en) Flexible multimode chip design for storage and networking
JP2023505261A (ja) メモリと分散計算アレイとの間のデータ転送
US6523071B1 (en) Process and apparatus for configuring the direct memory access transfer mode of a motherboard or host computer
US6490638B1 (en) General purpose bus with programmable timing
US6950894B2 (en) Techniques using integrated circuit chip capable of being coupled to storage system
KR20240037861A (ko) 저전력 모드가 없는 고성능 프로세서를 위한 저전력 환경
US20240094287A1 (en) Low power environment for high performance processor without low power mode
US20220004635A1 (en) Computing peripheral interface management mechanism
KR20240037866A (ko) 테스터 시스템을 위한 프로세서 테스트 패턴 생성 및 적용 기법
US20240118340A1 (en) Processor test pattern generation and application for tester systems
TW202418082A (zh) 用於測試器系統之處理器測試型樣產生及應用技術
CN117707863A (zh) 不具有低功率模式的高性能处理器的低功率环境
US20240096432A1 (en) Memory queue operations to increase throughput in an ate system