KR100914174B1 - Fpga 컨트롤러 기반 테스터 인터페이스 장치 - Google Patents

Fpga 컨트롤러 기반 테스터 인터페이스 장치 Download PDF

Info

Publication number
KR100914174B1
KR100914174B1 KR1020090013608A KR20090013608A KR100914174B1 KR 100914174 B1 KR100914174 B1 KR 100914174B1 KR 1020090013608 A KR1020090013608 A KR 1020090013608A KR 20090013608 A KR20090013608 A KR 20090013608A KR 100914174 B1 KR100914174 B1 KR 100914174B1
Authority
KR
South Korea
Prior art keywords
controller
input
output
measurement target
local
Prior art date
Application number
KR1020090013608A
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 KR1020090013608A priority Critical patent/KR100914174B1/ko
Application granted granted Critical
Publication of KR100914174B1 publication Critical patent/KR100914174B1/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/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 발명의 일실시예에 따른 테스터 인터페이스 장치는, 하나 이상의 입력포트를 통해 하나 이상의 입출력 컨트롤러(I/O Controller)와 연결되고, 하나 이상의 출력포트를 통해 하나 이상의 측정대상 모듈과 연결되어 상기 하나 이상의 측정대상 모듈의 테스트(test)를 제어하는 FPGA 컨트롤러(Field Programmable Gate Array Controller); 및 하나 이상의 포트를 통해 상기 FPGA 컨트롤러의 상기 하나 이상의 입력포트와 연결되는 하나 이상의 입출력 컨트롤러(I/O Controller)를 포함한다.
SSD, PCI, FPGA, 테스터, 버스, 인터페이스, 컨트롤러, SATA

Description

FPGA 컨트롤러 기반 테스터 인터페이스 장치{TESTER INTERFACE APPARATUS BASED ON FIELD PROGRAMMABLE GATE ARRAY CONTROLLER}
본 발명은 FPGA 컨트롤러 기반 테스터 인터페이스 장치에 관한 것으로, 더욱 상세하게는 SSD(Solid State Disc) 등의 모듈 테스트 시 상기 테스트를 수행하는 PC가 테스트 시간의 대부분을 차지하는 반복되는 데이터 읽기 및 쓰기 명령을 코드화하여 FPGA 컨트롤러로 전송하고 상기 FPGA 컨트롤러를 통해 상기 모듈 테스트를 수행함으로써, 많은 데이터를 시스템 버스를 거치지 않고 FPGA 컨트롤러에서 직접 테스트 명령을 수행하여 성능을 보다 향상시키고 다채널 테스터 구현을 가능하게 하는 FPGA 컨트롤러 기반 테스터 인터페이스 장치에 관한 것이다.
PCI 버스(PCI bus)는 10년 이상 PC의 표준 버스로 사용되었다. 그러나 인터넷 시대에 접어들면서 폭발적으로 증가하는 데이터 전송량을 처리하기 위해 보다 넓은 대역폭의 버스 아키텍처가 필요하게 되었다. 대역폭의 문제점을 국소적으로 해결하기 위하여, AGP, PCI-X와 같은 버스들이 발표되었으나, 이들 역시 I/O 디바이스가 I/O 버스를 공유(multi-drop)하는 병렬버스(parallel bus technology) 구조로 되어 있어 성능 향상에 한계를 갖고 있다.
이러한 PCI 버스의 한계를 극복하기 위하여 PCI SIG에서 기존의 PCI를 계승하는 새로운 I/O 표준으로 PCI Express를 발표하였다. 기존의 병렬 전송을 하는 PCI가 133MB/s의 전송속도를 가진 것에 반해, PCI Express는 포인트 투 포인트(point-to-point) 방식을 이용한 직렬(serial) 전송 방식으로, 레인(Lane)당 250MB/s의 전송속도를 갖는다. 멀티레인(multi Lane)을 사용할 경우 전송속도는 선형적으로 증가하며 최대 x32까지 지원할 수 있다.
PCI Express의 기본 아키텍처는 최하위계층인 물리계층(Physical Layer)에서 교체되므로 기존의 PCI 장치에 사용된 운영체제와 디바이스 드라이버 소프트웨어를 그대로 사용할 수 있다. 이러한 장점으로 인해 PCI Express가 현재 컴퓨터 I/O 시스템의 표준으로 자리잡고 있다.
PCI Express는 논리적으로 전송계층(Transaction Layer), 데이터 링크계층(Data Link Layer), 물리계층(Physical Layer)의 3개의 레이어(Layer)로 구성된다. 각 컴포넌트는 송신단과(Tx)과 수신단(Rx)로 구분된다. 상기 각 계층의 구분은 개념적인 구분일 뿐 실제 설계에서는 명확하게 계층 구분이 되지 않을 수도 있다.
PCI Express는 컴포넌트 상호간에 패킷(packet)을 사용하여 통신한다. 패킷은 전송계층과 데이터 링크계층에서 만들어지며, 송신단에서 수신단으로 정보를 전송한다. 각 송신단 계층은 패킷에 필요한 정보를 추가한 후 전송한다.
전송계층(Transaction Layer)은 최상위 계층으로 전송계층 패킷 (Transaction Layer Packet: TLP)의 처리를 담당한다. TLP는 데이터의 읽기와 쓰 기와 같은 컴포넌트 상호간의 데이터 전송을 위해 사용된다. 또한, 전송계층은 TLP를 위한 크레딧 기반의 흐름 제어(credit-based flow control)를 담당한다.
데이터 링크계층(Data Link Layer)은 전송 계층과 물리계층 사이의 중간 계층으로 링크 관리와 데이터 무결성 검사, 에러 검출과 보정을 담당한다. 또한, 데이터 링크 계층은 물리계층과 전송계층 사이의 TLP 전송외에 데이터 링크계층 패킷(Data Link Layer Packet: DLLP)의 처리를 담당한다.
물리계층은 최하위계층으로 인터페이스와 관련된 입력 버퍼, 병렬-직렬 변환(parallel-to-serial), 직렬-병렬 변환(serial-to-parallel), PLL(Phase Locked Loop), 및 임피던스 매칭(Impedance Matching)과 같은 전지적 작업과 인터페이스 관련 초기화 관리와 같은 논리적 작업을 담당한다. 또한, 데이터 링크로부터 받은 데이터를 송신단에서 직렬화하거나 수신단에서 받은 직렬 데이터를 특정 포멧으로 변환하여 데이터 링크계층으로 전달한다.
근래에 컴퓨터 등 데이터 처리장치에 있어서 데이터 입출력시 병목 현상으로 인한 성능 저하를 해결할 수 있는 기술로 솔리드 스테이트 디스크(SSD) 방식이 제안되고 있다. 상기 솔리드 스테이트 디스크는, 하드 디스크 드라이브(HDD)가 아닌 플래시, DDR 등 메모리를 기반으로 한 데이터 저장장치이다. 또한, 기존의 HDD에 필수적으로 사용되는 모터와 기계적 구동장치를 없애, 작동시 열과 소음이 거의 발생하지 않고 외부충격에 강할 뿐 아니라, 데이터 전송 속도에 있어서 기존의 HDD에 비해 수십 배 이상 향상된 성능을 보인다.
솔리드 스테이트 디스크(Solid State Disk)는 하드 디스크 드라이브(HDD)와 비슷하게 동작하면서도 기계적 장치인 HDD와는 달리 반도체를 이용하여 정보를 저장한다. 임의접근을 하여 탐색시간 없이 고속으로 데이터를 입출력할 수 있으면서도 기계적 지연이나 실패율이 현저히 적다. 또 외부의 충격으로 데이터가 손상되지 않으며, 발열·소음 및 전력소모가 적고, 소형화·경량화할 수 있는 장점이 있다. 플래시 방식의 비휘발성 낸드플래시메모리나 램(RAM) 방식의 휘발성 DRAM을 사용한다. 플래시 방식은 RAM 방식에 비하면 느리지만 HDD보다는 속도가 빠르며, 비휘발성 메모리를 사용하여 갑자기 정전이 되더라도 데이터가 손상되지 않는다. DRAM 방식은 빠른 접근이 장점이지만 제품 규격이나 가격, 휘발성이라는 문제점이 있다.
최초 개발 뒤 용량에 한계가 있어 MP3 플레이어나 휴대용 저장장치 등에 주로 사용되어왔으나, 128GB에 이어 256GB의 대용량 SSD가 개발되면서 노트북PC나 데스크톱PC에도 활용할 수 있게 되어 HDD를 대체할 차세대 저장장치가 될 것으로 전망된다.
이러한 SSD의 성능은 SSD 테스터를 통해 이루어진다. 일반 PCI(33MHz, 32bit) 기반으로 된 테스터는 낮은 버스의 대역폭(133MB/s)을 공유하는 SATA 컨트롤러를 통해 각각의 SSD를 테스트하는 방식을 취하고 있다. 따라서, 동시에 테스트하는 SSD의 개수가 많아지면, 버스의 대역폭 한계로 인해 전체 테스트 시간이 산술적으로 증가하는 단점이 있다. 또한, 버스 속도가 저하되어 SATA2 이상의 컨트롤러의 데이터 전송 속도를 지원할 수 없다는 문제점이 있다.
이에, 보다 빠른 속도로 보다 많은 SSD를 비롯한 다양한 모듈을 테스트 할 수 있는 기술의 개발이 요구되고 있다.
본 발명은 상기와 같은 종래 기술을 개선하기 위해 안출된 것으로서, SSD(Solid State Disc) 등의 모듈 테스트 시 상기 테스트를 수행하는 PC가 테스트 시간의 대부분을 차지하는 반복되는 데이터 읽기 및 쓰기 명령을 코드화하여 FPGA 컨트롤러로 전송하고 상기 FPGA 컨트롤러를 통해 상기 모듈 테스트를 수행함으로써, 많은 데이터를 시스템 버스를 거치지 않고 FPGA 컨트롤러에서 직접 테스트 명령을 수행하여 성능을 보다 향상시키고 다채널 테스터 구현을 가능하게 하는 FPGA 컨트롤러 기반 테스터 인터페이스 장치를 제공하는 것을 목적으로 한다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 테스터 인터페이스 장치는, 하나 이상의 입력포트를 통해 하나 이상의 입출력 컨트롤러(I/O Controller)와 연결되고, 하나 이상의 출력포트를 통해 하나 이상의 측정대상 모듈과 연결되어 상기 하나 이상의 측정대상 모듈의 테스트(test)를 제어하는 FPGA 컨트롤러(Field Programmable Gate Array Controller); 및 하나 이상의 포트를 통해 상기 FPGA 컨트롤러의 상기 하나 이상의 입력포트와 연결되는 하나 이상의 입출력 컨트롤러(I/O Controller)를 포함한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치에서, 상기 FPGA 컨트롤러는 FPGA 인터페이스를 통해 로컬 PC와 연결되고, 상기 로컬 PC로부터 수신하는 코드화된 명령 데이터를 통해 상기 하나 이상의 측정대상 모듈의 테스트를 제 어하는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치에서, 상기 입출력 컨트롤러(I/O Controller)는 SATA 컨트롤러이고, 상기 측정대상 모듈은 SSD(Solid State Disc)인 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치에서, 상기 FPGA 컨트롤러의 상기 하나 이상의 출력포트 및 상기 하나 이상의 측정대상 모듈은 SATA 케이블을 통해 서로 연결되고, 상기 FPGA 컨트롤러의 상기 하나 이상의 입력포트 및 상기 입출력 컨트롤러의 상기 하나 이상의 포트는 SATA 케이블을 통해 서로 연결되는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치에서, 상기 FPGA 컨트롤러 및 상기 하나 이상의 입출력 컨트롤러는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되고, 상기 하나 이상의 입출력 컨트롤러 및 로컬 PC는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러는, 하나 이상의 입출력 컨트롤러(I/O Controller)와 연결되는 하나 이상의 입력포트; 로컬 PC와 연결되는 PC 인터페이스부; 하나 이상의 측정대상 모듈과 연결되는 하나 이상의 출력포트; 상기 로컬 PC로부터 수신하는 코드화된 명령 데이터를 통해 상기 하나 이상의 측정대상 모듈의 테스트를 제어하는 UDMA(Ultra Direct Memory Access) 엔진부; 상기 하나 이상의 입력포트를 통해 상기 입출력 컨트롤러로부터 수신하는 명령 데이터 및 상기 PC 인터페이스부를 통해 상기 로컬 PC로부터 수신하는 코드화된 명령 데이터 간의 상기 하나 이상의 출력포트를 통한 상기 하나 이상의 측정대상 모듈로의 출력 스위칭(switching)을 제어하는 스위치부; 및 상기 측정대상 모듈의 테스트 데이터가 저장되는 저장부를 포함한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러에서, 상기 하나 이상의 입력포트는 SATA 케이블을 통해 상기 하나 이상의 입출력 컨트롤러와 연결되고, 상기 하나 이상의 출력포트는 SATA 케이블을 통해 상기 하나 이상의 측정대상 모듈과 연결되는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러에서, 상기 PC 인터페이스부는 FPGA 인터페이스를 통해 상기 로컬 PC와 연결되는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러에서, 상기 입출력 컨트롤러(I/O Controller)는 SATA 컨트롤러이고, 상기 측정대상 모듈은 SSD(Solid State Disc)인 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러에서, 상기 저장부는 상기 하나 이상의 출력 포트와 연결된 상기 각 측정대상 모듈의 테스트 결과에 대한 오류 정보가 기록되는 FAM(Fail Analysis Memory)을 포함하는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러에서, 상기 하나 이상의 입력포트 및 상기 하나 이상의 입출력 컨트롤러는 PCI 버 스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되고, 상기 하나 이상의 입출력 컨트롤러 및 상기 로컬 PC는 로컬 PC는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되는 것을 특징으로 한다.
본 발명의 FPGA 컨트롤러 기반 테스터 인터페이스 장치에 따르면, SSD(Solid State Disc) 등의 모듈 테스트 시 상기 테스트를 수행하는 PC가 테스트 시간의 대부분을 차지하는 반복되는 데이터 읽기 및 쓰기 명령을 코드화하여 FPGA 컨트롤러로 전송하고 상기 FPGA 컨트롤러를 통해 상기 모듈 테스트를 수행함으로써, 많은 데이터를 시스템 버스를 거치지 않고 FPGA 컨트롤러에서 직접 테스트 명령을 수행하여 성능을 보다 향상시키고 다채널 테스터 구현을 가능하게 하는 효과를 얻을 수 있다.
본 발명의 일실시예에 따른 테스터 인터페이스 장치는 하나 이상의 입출력 컨트롤러(I/O Controller)를 포함할 수 있다. 상기 입출력 컨트롤러(I/O Controller)는 당업계에서 널리 사용되는 다양한 종류의 입출력 컨트롤러로 구현될 수 있다. 다만, 본 명세서에서는 설명의 편의를 위하여 상기 입출력 컨트롤러(I/O Controller)가 SATA 컨트롤러로 구현되는 경우를 예로 들어 설명한다.
또한, 본 명세서에서는 상기 입출력 컨트롤러(I/O Controller)가 각각의 포트를 통해 연결되는 측정대상 모듈이 SSD(Solid State Disc)인 경우를 예로 들어 설명하지만, 상기 측정대상 모듈이 상기 SSD뿐만 아니라 상기 입출력 컨트롤러(I/O Controller)에 연결되어 성능 테스트 가능한 다양한 종류의 테스트 모듈로 구현될 수 있음은 당업자에게 있어 자명하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 구성을 도시한 도면이다.
본 발명의 일실시예에 따른 테스터 인터페이스 장치는 하나 이상의 입출력 컨트롤러(111 및 112) 및 FPGA 컨트롤러(120)를 포함한다. 도 1에 도시된 바와 같이 본 발명의 일실시예에 따르면, 하나 이상의 입출력 컨트롤러(I/O Controller)는 SATA 컨트롤러 1(111) 및 SATA 컨트롤러 2(112)로 구현될 수 있다.
하나 이상의 입출력 컨트롤러(I/O Controller)는 하나 이상의 포트를 통해 상기 FPGA 컨트롤러의 상기 하나 이상의 입력포트와 연결된다. 예를 들어, SATA 컨트롤러 1(111)은 포트 1을 통해 FPGA 컨트롤러(120)의 입력포트 1과 연결될 수 있고, 포트 2를 통해 FPGA 컨트롤러(120)의 입력포트 2와 연결될 수 있으며, 포트 3을 통해 FPGA 컨트롤러(120)의 입력포트 3과 연결될 수 있고, 포트 4을 통해 FPGA 컨트롤러(120)의 입력포트 4와 연결될 수 있다.
또한, SATA 컨트롤러 2(112)는 포트 5를 통해 FPGA 컨트롤러(120)의 입력포트 5와 연결될 수 있고, 포트 6를 통해 FPGA 컨트롤러(120)의 입력포트 6과 연결될 수 있으며, 포트 7을 통해 FPGA 컨트롤러(120)의 입력포트 7과 연결될 수 있고, 포트 8을 통해 FPGA 컨트롤러(120)의 입력포트 8과 연결될 수 있다.
SATA 컨트롤러 1(111) 및 SATA 컨트롤러 2(112)는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 FPGA 컨트롤러(120)와 연결될 수 있다.
SATA 컨트롤러 1(111) 및 SATA 컨트롤러 2(112)는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 로컬 PC(101)와 연결될 수 있다.
FPGA 컨트롤러(120)는 하나 이상의 입력포트(121)를 통해 하나 이상의 입출력 컨트롤러, 즉, SATA 컨트롤러 1(111) 및 SATA 컨트롤러 2(112)연결될 수 있다. 또한, FPGA 컨트롤러(120)는 하나 이상의 출력포트(122)를 통해 하나 이상의 측정대상 모듈(102), 즉, SSD와 연결될 수 있다.
FPGA 컨트롤러(120)의 하나 이상의 출력포트(122) 및 하나 이상의 측정대상 모듈(102)은 SATA 케이블을 통해 서로 연결될 수 있다. 또한, FPGA 컨트롤러(120)의 하나 이상의 입력포트(121) 및 하나 이상의 입출력 컨트롤러(111 및 112)의 하나 이상의 포트는 SATA 케이블을 통해 서로 연결될 수 있다.
FPGA 컨트롤러(120)는 FPGA 인터페이스를 통해 로컬 PC(101)와 직접 연결될 수 있다. FPGA 컨트롤러(120)는 상기 FPGA 인터페이스를 통해 로컬 PC(101)로부터 수신하는 코드화된 명령 데이터를 통해 상기 하나 이상의 측정대상 모듈의 테스트를 제어할 수 있다.
즉, SSD(Solid State Disc)(102) 등의 모듈 테스트 시 상기 테스트를 수행하는 로컬 PC(110)가 테스트 시간의 대부분을 차지하는 반복되는 데이터 읽기 및 쓰 기 명령을 코드화하여 FPGA 컨트롤러(120)로 전송하고, FPGA 컨트롤러(120)를 통해 상기 모듈 테스트를 수행함으로써, 많은 데이터를 시스템 버스를 거치지 않고 FPGA 컨트롤러(120)에서 직접 테스트 명령을 수행하여 성능을 보다 향상시키고 다채널 테스터 구현을 가능하게 할 수 있다.
도 2는 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 FPGA 컨트롤러의 구성을 도시한 도면이다.
본 발명의 일실시예에 따른 FPGA 컨트롤러(200)는 하나 이상의 입력포트(210), 하나 이상의 출력포트(220), SATA/PATA 변환부(231), PATA/SATA 변환부(232), 스위치(240), 저장부(250), PATA 인터페이스(260), PIO 엔진(270), UDMA 엔진(280), 및 PC 인터페이스부(290)를 포함한다.
하나 이상의 입력포트(210)는 하나 이상의 입출력 컨트롤러(I/O Controller)와 연결될 수 있다. 상기 입출력 컨트롤러는 SATA 컨트롤러로 구현될 수 있고, 하나 이상의 입력포트(210)는 SATA 케이블을 통해 상기 하나 이상의 SATA 컨트롤러와 연결될 수 있다.
SATA/PATA 변환부(231)는 SATA 신호를 PATA 신호로 변환하고, PATA/SATA 변환부(232)는 PATA 신호를 SATA 신호로 변환할 수 있다.
하나 이상의 출력포트(220)는 하나 이상의 측정대상 모듈과 연결될 수 있다. 상기 측정대상 모듈은 SSD(Solid State Disc)로 구현될 수 있고, 하나 이상의 출력포트(220)는 상기 하나 이상의 SSD와 SATA 케이블을 통해 연결될 수 있다.
PC 인터페이스부(290)는 로컬 PC와 FPGA 인터페이스를 통해 연결될 수 있다.
UDMA(Ultra Direct Memory Access) 엔진(280)은 상기 로컬 PC로부터 수신하는 코드화된 명령 데이터를 통해 상기 하나 이상의 측정대상 모듈의 테스트를 제어한다. 즉, SSD(Solid State Disc) 등의 모듈 테스트 시 상기 테스트를 수행하는 로컬 PC가 테스트 시간의 대부분을 차지하는 반복되는 데이터 읽기 및 쓰기 명령을 코드화하여 FPGA 컨트롤러(200)로 전송하고, FPGA 컨트롤러(200)를 통해 상기 모듈 테스트를 수행함으로써, 많은 데이터를 시스템 버스를 거치지 않고 FPGA 컨트롤러(200)에서 직접 테스트 명령을 수행하여 성능을 보다 향상시키고 다채널 테스터 구현을 가능하게 할 수 있다.
스위치(240)는 하나 이상의 입력포트(210)를 통해 입출력 컨트롤러로부터 수신하는 명령 데이터 및 PC 인터페이스부(290)를 통해 로컬 PC로부터 수신하는 코드화된 명령 데이터 간의 하나 이상의 출력포트(220)를 통한 하나 이상의 측정대상 모듈로의 출력 스위칭(switching)을 제어한다.
즉, 본 발명의 일실시예에 따른 FPGA 컨트롤러(200)는 하나 이상의 입력포트(210)를 통해 SATA 컨트롤러로부터 SATA 명령 데이터를 수신하고, PC 인터페이스부(290)를 통해 로컬 PC로부터 코드화된 SATA 명령 데이터를 수신할 수 있다. 스위치(240)는 하나 이상의 입력포트(210)를 통해 수신하는 상기 SATA 명령 데이터를 바이패스(bypass)하여 하나 이상의 출력포트(220)를 통해 각 측정대상 모듈로 출력하고, PC 인터페이스부(290)를 통해 수신하는 상기 코드화된 SATA 명령 데이터를 UDMA 엔진(280)의 제어에 따라 하나 이상의 출력포트(220)를 통해 각 측정대상 모듈로 출력하는 각 데이터 신호 간의 스위칭을 수행할 수 있다. 따라서, 기존의 테 스트 방식을 유지하면서 고속으로 통신이 이루어지는 상태에서 두 가지 입력에 대해 상황에 따라 스위칭하며 각 명령을 전달할 수 있다.
저장부(250)에는 상기 측정대상 모듈의 테스트 데이터가 기록될 수 있다. 저장부(250)는 FAM(Fail Analysis Memory)로 구현될 수 있다. 즉, 저장부(250)는 상기 하나 이상의 출력 포트와 연결된 상기 각 측정대상 모듈의 테스트 결과에 대한 오류 정보가 기록되는 FAM(Fail Analysis Memory)을 포함하도록 구현될 수 있다. 이에 따라, 하나 이상의 입력포트(210) 및 하나 이상의 출력포트(220) 각각을 통해 수행되는 여러 개의 입출력 데이터를 동시에 처리하며 수행되는 테스트에 대하여 다양한 형태의 오류에 대한 분석을 저장함으로써, 단지 DUT(Device Under Test)의 Pass/Fail 정보뿐만 아니라, Fail의 원인을 분석할 수 있도록 사용자에게 데스트 결과 로그(log)를 제공할 수 있다.
하나 이상의 입력포트(210)는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 상기 하나 이상의 입출력 컨트롤러와 연결될 수 있다. 또한, 상기 하나 이상의 입출력 컨트롤러 및 상기 로컬 PC는 로컬 PC는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일실시예에 따른 테스터 인터페이스 장치의 구성을 도시한 도면; 및
도 2는 본 발명의 일실시예에 따른 테이스 인터페이스 장치의 FPGA 컨트롤러의 구성을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
101: 로컬 PC 102: SSD
111: SATA 컨트롤러 1 112: SATA 컨트롤러 2
120: FPGA 컨트롤러 121: 입력포트
122: 출력포트

Claims (11)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 하나 이상의 입출력 컨트롤러(I/O Controller)와 연결되는 하나 이상의 입력포트;
    로컬 PC와 연결되는 PC 인터페이스부;
    하나 이상의 측정대상 모듈과 연결되는 하나 이상의 출력포트;
    상기 로컬 PC로부터 수신하는 코드화된 명령 데이터를 통해 상기 하나 이상의 측정대상 모듈의 테스트를 제어하는 UDMA(Ultra Direct Memory Access) 엔진부;
    상기 하나 이상의 입력포트를 통해 상기 입출력 컨트롤러로부터 수신하는 명령 데이터 및 상기 PC 인터페이스부를 통해 상기 로컬 PC로부터 수신하는 코드화된 명령 데이터 간의 상기 하나 이상의 출력포트를 통한 상기 하나 이상의 측정대상 모듈로의 출력 스위칭(switching)을 제어하는 스위치부; 및
    상기 측정대상 모듈의 테스트 데이터가 저장되는 저장부
    를 포함하는 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
  7. 제6항에 있어서,
    상기 하나 이상의 입력포트는 SATA 케이블을 통해 상기 하나 이상의 입출력 컨트롤러와 연결되고, 상기 하나 이상의 출력포트는 SATA 케이블을 통해 상기 하나 이상의 측정대상 모듈과 연결되는 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
  8. 제6항에 있어서,
    상기 PC 인터페이스부는 FPGA 인터페이스를 통해 상기 로컬 PC와 연결되는 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
  9. 제6항에 있어서,
    상기 입출력 컨트롤러(I/O Controller)는 SATA 컨트롤러이고, 상기 측정대상 모듈은 SSD(Solid State Disc)인 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
  10. 제6항에 있어서,
    상기 저장부는 상기 하나 이상의 출력 포트와 연결된 상기 각 측정대상 모듈의 테스트 결과에 대한 오류 정보가 기록되는 FAM(Fail Analysis Memory)을 포함하는 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
  11. 제6항에 있어서,
    상기 하나 이상의 입력포트 및 상기 하나 이상의 입출력 컨트롤러는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되고, 상기 하나 이상의 입출력 컨트롤러 및 상기 로컬 PC는 로컬 PC는 PCI 버스(PCI bus) 및 PCI 익스프레스 버스(PCI-express bus) 중 어느 하나를 통해 서로 연결되는 것을 특징으로 하는 테스터 인터페이스 장치의 FPGA 컨트롤러.
KR1020090013608A 2009-02-18 2009-02-18 Fpga 컨트롤러 기반 테스터 인터페이스 장치 KR100914174B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090013608A KR100914174B1 (ko) 2009-02-18 2009-02-18 Fpga 컨트롤러 기반 테스터 인터페이스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090013608A KR100914174B1 (ko) 2009-02-18 2009-02-18 Fpga 컨트롤러 기반 테스터 인터페이스 장치

Publications (1)

Publication Number Publication Date
KR100914174B1 true KR100914174B1 (ko) 2009-08-26

Family

ID=41210291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090013608A KR100914174B1 (ko) 2009-02-18 2009-02-18 Fpga 컨트롤러 기반 테스터 인터페이스 장치

Country Status (1)

Country Link
KR (1) KR100914174B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042972A2 (ko) * 2011-09-22 2013-03-28 서울대학교 산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
KR101490823B1 (ko) * 2012-06-11 2015-02-06 삼성탈레스 주식회사 Fpga를 활용한 장치 제어용 범용 i2c 인터페이스 장치 및 이를 이용한 통신 방법
CN104516843A (zh) * 2013-09-30 2015-04-15 韩商联测股份有限公司 基于fpga的非安装型存储器测试装置
KR20160038235A (ko) * 2014-09-30 2016-04-07 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
US9378846B2 (en) 2013-09-30 2016-06-28 Unitest Inc. Non-mounted storage test device based on FPGA
KR101815984B1 (ko) * 2015-11-16 2018-01-12 에이스웨이브텍(주) 로우 핌 스위치를 이용한 다중대역 측정기
US10163525B2 (en) 2016-05-17 2018-12-25 Samsung Electronics Co., Ltd. Test apparatus based on binary vector
CN113688073A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 一种sata从设备ip核测试系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050120168A (ko) * 2004-06-18 2005-12-22 주식회사 유니테스트 복수의 반도체 모듈을 동시에 테스트하는 반도체 모듈테스트 장치
KR100794147B1 (ko) 2006-08-01 2008-01-17 주식회사 유니테스트 반도체 소자 테스터 제어 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050120168A (ko) * 2004-06-18 2005-12-22 주식회사 유니테스트 복수의 반도체 모듈을 동시에 테스트하는 반도체 모듈테스트 장치
KR100794147B1 (ko) 2006-08-01 2008-01-17 주식회사 유니테스트 반도체 소자 테스터 제어 장치

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042972A3 (ko) * 2011-09-22 2013-05-23 서울대학교 산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
KR101300443B1 (ko) 2011-09-22 2013-08-27 서울대학교산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
WO2013042972A2 (ko) * 2011-09-22 2013-03-28 서울대학교 산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
KR101490823B1 (ko) * 2012-06-11 2015-02-06 삼성탈레스 주식회사 Fpga를 활용한 장치 제어용 범용 i2c 인터페이스 장치 및 이를 이용한 통신 방법
US9378846B2 (en) 2013-09-30 2016-06-28 Unitest Inc. Non-mounted storage test device based on FPGA
CN104516843A (zh) * 2013-09-30 2015-04-15 韩商联测股份有限公司 基于fpga的非安装型存储器测试装置
KR101561854B1 (ko) * 2013-09-30 2015-10-22 주식회사 유니테스트 Fpga 기반의 비실장형 스토리지 테스트 장치
CN104516843B (zh) * 2013-09-30 2018-04-20 韩商联测股份有限公司 基于fpga的非安装型存储器测试装置
KR20160038235A (ko) * 2014-09-30 2016-04-07 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
KR101631461B1 (ko) 2014-09-30 2016-06-17 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
KR101815984B1 (ko) * 2015-11-16 2018-01-12 에이스웨이브텍(주) 로우 핌 스위치를 이용한 다중대역 측정기
US10163525B2 (en) 2016-05-17 2018-12-25 Samsung Electronics Co., Ltd. Test apparatus based on binary vector
CN113688073A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 一种sata从设备ip核测试系统

Similar Documents

Publication Publication Date Title
KR100914174B1 (ko) Fpga 컨트롤러 기반 테스터 인터페이스 장치
US9652324B2 (en) Solid state disk controller apparatus
US10031879B2 (en) Memory device for a hierarchical memory architecture
NL2011838B1 (en) Storage device, computing system including the same and data transferring method thereof.
KR102229024B1 (ko) 스스로 에러를 검출하고 로그를 저장할 수 있는 데이터 저장 장치와 이를 포함하는 시스템
JP2012514808A (ja) メモリシステムコントローラ
KR100922635B1 (ko) Pci 익스프레스 버스 기반 테스터 인터페이스 장치
US11573703B2 (en) Capacity expansion for memory sub-system controllers having at least I/O expander circuit to limit impedance loads
US11675542B2 (en) Dedicated design for testability paths for memory sub-system controller
US9245613B2 (en) Storage interface apparatus for solid state drive tester
US20130275652A1 (en) Methods and structure for transferring additional parameters through a communication interface with limited parameter passing features
US20220050629A1 (en) Completion management
KR102645786B1 (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US20230068580A1 (en) Memory device with multiple input/output interfaces
US20240071448A1 (en) Configurable data protection circuitry for memory devices
US20230393749A1 (en) Method and device of storage data
US20240069738A1 (en) Accessing memory devices via switchable channels
CN115910161A (zh) 存储封装、存储设备和用于操作存储设备的方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120820

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130814

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150821

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160719

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 11