KR101631461B1 - 메모리 소자 테스트 장치 및 방법 - Google Patents

메모리 소자 테스트 장치 및 방법 Download PDF

Info

Publication number
KR101631461B1
KR101631461B1 KR1020140130710A KR20140130710A KR101631461B1 KR 101631461 B1 KR101631461 B1 KR 101631461B1 KR 1020140130710 A KR1020140130710 A KR 1020140130710A KR 20140130710 A KR20140130710 A KR 20140130710A KR 101631461 B1 KR101631461 B1 KR 101631461B1
Authority
KR
South Korea
Prior art keywords
data
memory device
pci express
comparison
comparison test
Prior art date
Application number
KR1020140130710A
Other languages
English (en)
Other versions
KR20160038235A (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 주식회사 네오셈
Priority to KR1020140130710A priority Critical patent/KR101631461B1/ko
Priority to US14/661,390 priority patent/US9626264B2/en
Publication of KR20160038235A publication Critical patent/KR20160038235A/ko
Application granted granted Critical
Publication of KR101631461B1 publication Critical patent/KR101631461B1/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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/38Response verification devices
    • 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/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories

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)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

이 발명은 솔리드스테이트드라이브(SSD) 소자를 테스트할 때 PCI 익스프레스(express) 링크 사이의 피어투피어 전송을 이용함으로써 데이터 비교 시험 시간을 단축시키기 위한 장치 및 방법에 관한 것이다.
이 발명에 따른 메모리 소자 테스트 장치는, 호스트 CPU의 제어에 의해 쓰기 프로세스와 되읽기 프로세스가 수행되어 PCI 익스프레스 스위치의 다운스트림 포트에 장착된 메모리 소자의 데이터 비교 테스트를 수행하는 메모리 소자 테스트 장치에 있어서, 상기 PCI 익스프레스 스위치의 다운스트림 포트에는 연결되고, 상기 메모리 소자와 피어투피어 통신하여 상기 메모리 소자에 쓰기 데이터를 공급하고 상기 메모리 소자로부터 되읽기 데이터를 제공받아 데이터 비교 테스트를 수행하는 비교시험부(FPGA)를 포함한다.

Description

메모리 소자 테스트 장치 및 방법 {Memory Device Test Apparatus and Method}
이 발명은 메모리 소자 테스트 장치 및 방법에 관한 것으로서, 보다 상세하게는 솔리드스테이트드라이브(SSD) 소자를 테스트할 때 PCI 익스프레스(express) 링크 사이의 피어투피어 전송을 이용함으로써 데이터 비교 시험 시간을 단축시키기 위한 장치 및 방법에 관한 것이다.
반도체 소자 중, 최근 하드디스크드라이브(HDD)와 비슷하게 동작하면서도 기계적 장치인 HDD와는 달리 플래쉬메모리와 같은 반도체소자를 이용하여 정보를 저장하는 솔리드스테이트드라이브(Solid State Drive, SSD) 소자가 HDD를 대체할 차세대 저장장치로 주목되고 있다.
SSD 소자는 컴퓨터에 사용되는 하드디스크드라이브(HDD)나 이동단말기에 사용되는 미니 하드디스크(Hard Disk)를 대체하기 위해 사용되고 있다. SSD 소자는 플래쉬 메모리와 같은 반도체소자를 사용하여 데이터를 저장함으로써, 하드디스크드라이브(HDD)에 비해 기계적인 움직임이 없으며, 하드디스크드라이브(HDD)의 문제인 긴 탐색시간, 레이턴시시간 및 기계적 지연시간을 감소시킬 수 있다.
SSD 소자는 일반적으로 NAND 플래쉬 메모리가 어레이로 구성되어 큰 저장영역을 구현한다. SSD 소자를 구성하는 플래쉬 메모리들은 제조단계에서 철저하게 테스트되어 플래쉬 메모리 어레이 내의 모든 결함들이 식별되어야 한다. 이러한 SSD 소자 테스트에서, 플래쉬 메모리에 대한 데이터 비교 시험이 상당한 시간을 차지한다.
데이터 비교 시험을 구현하기 위한 전형적인 방법은, 플래쉬 메모리에 알려진 패턴을 기록한 후, 상기 플래쉬 메모리의 컨텐츠를 되읽기(read back)하고 나서, 되읽기한 데이터와 기록하는데 사용한 패턴을 비교하는 것이다.
도 1은 일반적인 데이터 비교 시험을 위한 메모리 소자 테스트 장치를 도시한 개략적인 구성 블록도이고, 도 2는 도 1의 시스템 아키텍처에서 데이터 비교 시험 과정에서의 데이터 흐름을 도시한 도면이다.
메모리 소자 테스트 장치는 호스트 시스템(110)로 구현되며, 호스트 시스템(110)은 호스트 CPU(111)와, 메인 메모리(112)와, 다수의 PCI 익스프레스 스위치(113, 114)와, 호스트 CPU(111)와 메인 메모리(112)와 PCI 익스프레스 스위치들(113, 114) 사이를 통신 연결하는 호스트 브릿지(115)를 포함한다. PCI 익스프레스 스위치들(113, 114)의 다운스트림 포트들에는 PCI 익스프레스 디바이스로서 다수의 테스트 대상 SSD 소자(DUT)들이 장착된다. 도면에는 테스트 대상으로서 SSD 소자가 도시되어 있으나, 이 발명은 이에 한정되지 않으며 플래쉬 메모리 등의 메모리 소자의 데이터 비교 시험에 활용할 수 있다. 각각의 SSD 소자는 PCI 익스프레스 스위치(113, 114)에 2개의 레인(lane)으로 연결된다.
도 1에서는 호스트 시스템(110)에 두 개의 PCI 익스프레스 스위치(113, 114)들이 장착되고 각각의 PCI 익스프레스 스위치(113, 114)에는 4개의 SSD 소자(DUT)들이 장착되는 예시를 도시한다. 각 DUT는 2 레인 PCI 익스프레스 디바이스로서, 총 8개의 DUT가 연결되므로 호스트 브릿지(115)는 16 레인을 포함해야 한다.
상기와 같이 구성된 종래의 SSD 테스트 장치를 이용한 데이터 비교 시험 과정을 설명한다. 앞서 설명한 바와 같이 데이터 비교 시험 과정은 기록 프로세스와, 되읽기 프로세스와, 데이터 비교 프로세스를 포함하며, 전통적인 프로세서 아키텍처 시스템에서 각 프로세스는 다음의 여러 가지 세부 단계들을 포함한다.
첫째, 알려진 데이터 패턴은 도시되지 않은 스토리지로부터 메인 메모리로 복사되거나, 시험 코드에 의해 생성되어야 한다. 이때의 소요시간은 (데이터가 저장되어 있는) 호스트 시스템(110)의 스토리지 매체와 호스트 시스템(110)의 메인 메모리(112)의 대역폭에 의해 결정된다. 즉, 호스트 시스템(110)이 알려진 데이터 패턴을 하드 드라이브 또는 네트워크 위치로부터 메인 메모리(112)로 복사하는 시간이 소요된다.
다음, 기록 프로세스로서, 데이터 패턴은 SSD 소자(DUT)에 기록되어야 한다. 즉, 메인 메모리(112)에 저장된 데이터는 메인 메모리(112)로부터 SSD 소자가 지원하는 어떤 인터페이스를 통해 SSD 소자로 이동된다. 이러한 기록 프로세스에 소요되는 시간 또한, 호스트 시스템(110)의 메인 메모리(112)의 대역폭 및/또는 호스트 시스템(110)의 메인 메모리(112)와 SSD 소자(DUT)와의 인터페이스 사이에 존재하는 모든 인터페이스 프로토콜에 의해 결정된다.
다음, 되읽기 프로세스로서, 데이터가 기록되면 호스트 시스템(110)은 SSD 소자(DUT)에 기록된 컨텐츠를 되읽기해야 한다. 되읽기 프로세스에서, 데이터는 다시 SSD 소자(DUT)와 호스트 시스템(110) 사이의 프로토콜 인터페이스와, 호스트 시스템(110)의 메인 메모리(112)의 인터페이스를 통과해야 한다. 이때, 호스트 시스템(110)은 알려진 데이터 패턴과 SSD 소자(DUT)로부터 되읽기한 데이터를 모두 메인 메모리(112)에 보관해야 한다.
다음, 비교 프로세스로서, 호스트 시스템(110)은 두 데이터 청크를 비교해야 한다; 알려진 데이터와 되읽기 데이터. 데이터 비교를 위해, 호스트 시스템(110)은 메인 메모리(112)로부터 두 데이터 청크를 읽어야 하는데, 이때 다시 메인 메모리(112)에 억세스하는 시간 비용이 발생한다.
이상에서 살펴본 내용을 정리하면, 데이터 패턴은 호스트 CPU(111)에 의해 생성되고, 메인 메모리(112)에 저장된다. 기록 프로세스에서, 데이터는 호스트 브릿지(115)의 모든 대역폭 제한 경로를 가로질러 메인 메모리(112)로부터 SSD 소자(DUT)로 흐른다. 되읽기 프로세스에서, 데이터는 다시 호스트 브릿지(113)의 모든 대역폭 제한 경로를 가로질러 SSD 소자(DUT)로부터 메인 메모리(112)로 흐른다. 또한, 이들 프로세스는 호스트 시스템에 장착된 모든 SSD 소자(DUT)들에 대해 반복되어야 한다. 즉, 데이터 비교 시험의 모든 프로세스에서 모든 SSD 소자(DUT)들의 테스트를 위한 모든 데이터들이 메인 메모리에 기록되거나 메인 메모리로부터 읽혀져야 한다.
따라서, 데이터 비교 시험에 소요되는 전체 시간은 주로 호스트 시스템(110)의 메인 메모리(112)의 대역폭 또는 호스트 시스템(110)과 SSD 소자(DUT) 사이의 프로토콜 대역폭 중 하나에 의해 결정된다. 현대 SSD 소자는 초고속 직렬 프로토콜로 구동하는 바, 단지 하나의 SSD 소자의 테스트에 필요한 대역폭을 유지하기 위해서도 초고속 메모리 인터페이스가 필요하게 된다.
SSD 소자 테스트 장치에서 하드웨어 코스트의 상당한 부분이 호스트 CPU 서브시스템이기 때문에, 테스트 장치는 보통 하나의 CPU 서브시스템 당 하나 이상의 SSD 소자에 대한 시험을 지원한다. 시스템 아키텍쳐는 하나의 CPU에 의해 지원되는 각각의 SSD 소자별로 독립된 고속직렬 프로토콜 인터페이스를 제공한다. CPU가 다수의 SSD 소자들에 대한 테스트를 지원할 경우, 호스트 시스템의 메인 메모리 대역폭은 데이터 비교 시험동안 거의 항상 병목이 되며, 이로써 테스트 시간 병목이 초래되는 문제점이 있다.
대한민국 등록특허 제0979248호
대한민국 등록특허 제0911252호
대한민국 등록특허 제1090454호
대한민국 등록특허 제0923832호
상술한 종래기술의 문제점을 해결하기 위한 이 발명의 목적은 SSD 소자를 비롯한 메모리 소자들의 데이터 비교 시험에 소요되는 시간을 단축하는 메모리 소자 테스트 장치 및 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 이 발명에 따른 메모리 소자 테스트 장치는, 호스트 CPU의 제어에 의해 쓰기 프로세스와 되읽기 프로세스가 수행되어 PCI 익스프레스 스위치의 다운스트림 포트에 장착된 메모리 소자의 데이터 비교 테스트를 수행하는 메모리 소자 테스트 장치에 있어서, 상기 PCI 익스프레스 스위치의 다운스트림 포트에는 연결되고, 상기 메모리 소자와 피어투피어 통신하여 상기 메모리 소자에 쓰기 데이터를 공급하고 상기 메모리 소자로부터 되읽기 데이터를 제공받아 데이터 비교 테스트를 수행하는 비교시험부를 포함한 것을 특징으로 한다.
또한, 이 발명에 따른 메모리 소자 테스트 방법은, PCI 익스프레스 스위치의 다운스트림 포트에 장착된 비교시험부가 상기 PCI 익스프레스 스위치의 다운스트림 포트에 장착된 메모리 소자의 데이터 비교 테스트를 수행하는 메모리 소자 테스트장치의 메모리 소자 테스트방법에 있어서, 상기 비교시험부가 데이터 생성 알고리즘을 구동하여 쓰기 데이터를 생성하여 상기 메모리 소자로 공급하는 쓰기 프로세스 단계와; 상기 비교시험부가 상기 데이터 생성 알고리즘을 구동하여 예상 데이터를 생성하고, 상기 메모리소자로부터 공급되는 되읽기 데이터와 상기 예상 데이터를 비교하는 되읽기 프로세스 단계와; 상기 비교시험부는 상기 되읽기 프로세스 단계의 비교 결과 정보를 저장하는 결과정보저장단계를 포함한 것을 특징으로 한다.
이상과 같이 이 발명에 따르면, 데이터 비교 경로에서 호스트 서브시스템에서의 대역폭 병목을 제거함으로써, SSD 소자에 대한 데이터 비교 시험 시간을 실질적으로 감소시킬 수 있는 효과가 있다.
또한, 호스트 서브시스템에서의 대역폭 병목을 제거함으로써, 하나의 호스트 서브시스템은 개별 DUT 시험 시간에 부정적인 영향을 주지 않으면서 좀 더 많은 개수의 SSD 소자들(DUTs)에 대한 데이터 비교 시험을 수행할 수 있다. 이러한 아키텍처는 또한 보다 낮은 사양의 호스트 서브시스템이 고속 SSD 소자들(DUTs)을 시험할 수 있도록 한다.
도 1은 일반적인 데이터 비교 시험을 위한 메모리 소자 테스트 장치를 도시한 개략적인 구성 블록도이다.
도 2는 도 1의 시스템 아키텍처에서 데이터 비교 시험 과정에서의 데이터 흐름을 도시한 도면이다.
도 3은 이 발명에 따른 메모리 소자 테스트 장치의 시스템 아키텍처를 도시한 블록도이다.
도 4는 도 3의 시스템 아키텍처에서 데이터 비교 시험과정에서의 데이터 흐름을 도시한 도면이다.
도 5는 이 발명에 따른 비교시험부 내부 구성도이다.
도 6은 이 발명에 따른 데이터 비교 시험 방법을 도시한 동작 흐름도이다.
이하, 본 발명의 도면을 참조하여 상세하게 설명하고자 한다. 다음에 소개되는 실시예들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 설명된 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 본 명세서 전반에 걸쳐 표시되는 약어는 본 명세서 내에서 별도의 다른 지칭이 없다면 당 업계에서 통용되어, 이해되는 수준으로 해석되어야 한다.
도 3은 이 발명에 따른 메모리 소자 테스트 장치의 시스템 아키텍처를 도시한 블록도이고, 도 4는 도 3의 시스템 아키텍처에서 데이터 비교 시험과정에서의 데이터 흐름을 도시한 도면이다.
이 발명에 따른 메모리 소자 테스트 장치는 호스트 시스템(210)으로 구현되고, 이 호스트 시스템(210)은 호스트 CPU(211)와, 메인 메모리(212)와, 다수의 PCI 익스프레스 스위치(213, 214)와, 호스트 CPU(211)와 메인 메모리(212)와 PCI 익스프레스 스위치들(213, 214) 사이를 통신 연결하는 호스트 브릿지(215)를 포함한다.
PCI 익스프레스 스위치들(213, 214)의 다운스트림 포트들에는 PCI 익스프레스 디바이스로서 다수의 테스트 대상 SSD 소자(DUT)들이 장착된다. 도면에는 테스트 대상으로서 SSD 소자가 도시되어 있으나, 이 발명은 이에 한정되지 않으며 플래쉬 메모리 등의 메모리 소자의 데이터 비교 시험에 활용할 수 있다. 각각의 SSD 소자는 각 PCI 익스프레스 스위치(213, 214)에 2개의 레인(lane)으로 연결된다.
또한, 각 PCI 익스프레스 스위치(213, 214)의 다운스트림 포트에는 비교시험부(216, 217)가 추가 연결된다. 이 비교시험부(216, 217)는 PCI 익스프레스 엔드포인트로서 구성된 현장 프로그래머블 게이트 어레이(Field Programmable Gate Array, FPGA) 소자로 구현될 수 있다. 이 비교시험부(216, 217)는 PCI 익스프레스 레인 대역폭을 가지며 PCI 익스프레스 스위치에 연결된다. PCI 레인 대역폭은 PCI 익스프레스 스위치에 장착된 모든 SSD 소자들의 전체 PCI 익스프레스 레인 대역폭의 합과 동일한 것이 바람직하다. 예시 도면에서, PCI 익스프레스 스위치(214)에는 4개의 SSD 소자들이 장착되고, 각 SSD 소자들은 2 레인 PCI 익스프레스 소자이므로, 비교시험부(217)는 PCI 익스프레스 스위치(214)에 8 레인으로 연결되어, 비교시험부(217)가 각각의 SSD 소자들을 시험하는데 필요한 요구 대역폭을 유지할 수 있도록 한다.
이 PCI 익스프레스 스위치(213, 214)는 PCI 익스프레스 피어투피어(peer to peer) 전송을 지원한다. 이것은 PCI 익스프레스 스위치의 다운스트림 포트에 연결된 한 엔드포인트가 동일 PCI 익스프레스 스위치의 다른 다운스트림 포트에 연결된 다른 엔드포인트에게/로부터 데이터를 전송할 수 있다는 것을 의미한다. 이러한 피어투피어 전송에서, 데이터는 PCI 익스프레스 스위치의 업스트림 포트쪽으로 흐를 필요가 없다. 즉, 데이터는 도 4에 도시된 바와 같이 PCI 익스프레스 스위치를 통해 다운스트림 엔드포인트들 사이에서만 흐르고 PCI 익스프레스 스위치의 업스트림 포트를 경유하지 않는다.
도 5는 이 발명에 따른 비교시험부의 내부 구성도이다.
비교시험부(30)는 FPGA로 구현된 PCI 익스프레스 엔드포인트이다. 이 비교시험부(30)는 데이터 비교 시험을 지원하기 위해, 비교시험부(30)로부터 SSD 소자로의 쓰기와 SSD 소자로부터 비교시험부로의 읽기를 허용한다. 그러나, 비교시험부는 데이터를 저장한 외부 RAM(random access memory)을 포함하지 않는다. 대신에, 비교시험부로부터 SSD 소자로의 쓰기 프로세스 및 SSD 소자로부터 비교시험부로의 되읽기 프로세스에서 모두 비교시험부 내부 알고리즘에 의해 데이터가 생성된다. 데이터를 생성하기 위한 알고리즘은 일반적으로 테스트 대상 SSD 소자의 주소와 크기를 기반한다.
비교시험부(30)는 PCI 익스프레스 스위치와의 인터페이스를 수행하는 PCI 익스프레스 인터페이스부(31)와, 테스트 대상 SSD 소자에 대응되는 주소 및 크기를 설정하는 설정부(32)와, 쓰기 프로세스와 되읽기 프로세스에서 상기 주소 및 크기에 대응되는 데이터를 생성하고 상기 쓰기 프로세스에서 생성된 데이터를 상기 SSD 소자로 공급하는 데이터발생부(33)와, 되읽기 프로세스에서 상기 데이터발생부(33)에서 생성된 데이터와 상기 SSD 소자로부터 되읽기한 데이터를 비교하는 데이터비교부(34)를 포함한다. 설정부(32)는 상기 데이터발생부(33)에서 사용가능한 다수의 데이터 생성 알고리즘을 포함하며, 상기 데이터발생부(33)에서 사용되는 데이터 생성 알고리즘을 설정할 수도 있다. 비교시험부(30)는 데이터비교부(34)의 비교결과 정보를 저장하는 결과정보저장부(35)를 더 포함한다.
비교시험부(30)의 데이터발생부(33)는 'SSD 소자로의 쓰기 프로세스'에서 데이터 생성 알고리즘을 구동하여 데이터를 생성하여 SSD 소자에 공급하고, 생성된 데이터를 저장하지는 않는다. 또한, 비교시험부(30)는 'SSD 소자로부터 되읽기 프로세스'에서 SSD 소자로부터 되읽기한 데이터를 저장하지 않는다. 다만, 비교시험부(30)의 데이터발생부(33)는 '되읽기 프로세스'에서도 '쓰기 프로세스'에서와 동일한 데이터 생성 알고리즘을 구동하여 동일한 데이터를 생성하고, 데이터비교부(34)는 SSD 소자로부터 되읽기한 데이터와 데이터발생부(33)로부터 생성된 데이터를 실시간으로 비교한다. 이때, 설정부(32)에서 설정된 테스트 대상인 SSD 소자의 주소 및 크기가 데이터발생부(33)의 데이터 생성 알고리즘의 키값으로 사용된다.
데이터비교부(34)는 SSD 소자로부터 되읽기한 데이터와 데이터발생부(33)에서 생성된 데이터와의 비교 결과를 결과정보저장부(35)에 저장한다. 예컨대, 비교 결과가 불일치하는 경우 불일치 정보가 결과정보저장부(35)에 저장한다. 비교 결과로서, 결과정보저장부(35)는 비교 실패에 관련된 정보와 데이터를 저장할 수 있다. 이 결과정보저장부(35)는 한정된 내부 메모리 용량에 기인하여, 그 저장되는 실패(고장)의 개수가 제한될 수 있으며, 그 제한은 비교시험부(30)를 구현한 FPGA의 크기와 타입에 의존된다. 통상적으로 SSD 소자의 데이터 비교 시험에서 실패의 개수는 크지 않아야 하기 때문에 큰 단점이 아니며, 단지 일부의 실패를 포착하더라도 그 SSD 소자가 고장난 디바이스라고 식별하기에 충분할 것이다.
이러한 비교시험부(30)는 외부 메모리 뱅크에 쓰기 데이터와 되읽기 데이터를 저장하지 않기 때문에 실제로는 무제한 메모리 공간을 가진 것으로 간주될 수 있다.
다음은, 이 발명의 시스템 아키텍쳐를 이용할 때, 호스트 CPU가 쓰기 프로세스, 되읽기 프로세스, 비교 프로세스를 통해 데이터 비교 시험을 수행하는 과정을 설명한다.
SSD 소자로의 데이터 쓰기와, SSD 소자로부터 데이터 되읽기는 SSD 소자가 데이터를 전송하는데 사용하는 DMA 타입의 디스크립터를 설정함으로써 정상적으로 완수될 수 있다.
쓰기 프로세스에서 SSD 소자로 데이터를 쓸 경우, 호스트 CPU는 SSD 소자가 원하는 위치로부터 "쓰기" 데이터를 읽을 수 있도록 디스크립터들을 설정한다. 즉, SSD 소자에 쓰는 것은 하드웨어 레벨에서 실질적으로는 SSD 소자가 읽기 트랜잭션을 수행하는 것으로서 구현된다. 이 발명에서는 결국, SSD 읽기 트렌젝션의 타겟이 호스트 시스템의 메인 메모리 대신에 비교시험부(30)가 되도록 함으로써 구현될 수 있다.
되읽기 프로세스에서 SSD 소자로부터 데이터를 되읽기할 경우, 호스트 CPU는 SSD 소자가 원하는 위치로부터 "되읽기" 데이터를 쓸 수 있도록 디스크립터들을 설정한다. 즉, SSD 소자로부터 읽는 것은 하드웨어 레벨에서 실질적으로는 SSD 소자가 쓰기 트랜젝션을 수행하는 것으로서 구현된다. 이 발명에서는 결국, SSD 쓰기 트랜젝션의 타겟이 호스트 시스템의 메인 메모리 대신에 비교시험부(30)가 되도록 함으로써 구현될 수 있다.
도 6은 이 발명에 따른 메모리 소자에 대한 데이터 비교 테스트 방법을 도시한 동작 흐름도이다.
먼저, 비교시험부(30)에서 사용할 데이터 생성 알고리즘과 키값을 설정한다(S41). 비교시험부(30)는 FPGA로 구현되므로, 이것은 FPGA의 구성 레지스터를 설정하는 일반적인 방법으로 수행될 수 있다. 비교시험부(30)에서 선택할 수 있는 하나 또는 다수의 데이터 생성 알고리즘이 있을 수 있으며, 또 다른 FPGA의 이미지가 로드되어 독특한 알고리즘을 구현할 수도 있다.
다음, SSD 소자에 데이터를 쓴다(42). 호스트 CPU는 PCI 익스프레스 스위치에서 SSD 소자와 비교시험부(30) 사이의 피어투피어 전송이 가능하게 설정하고, SSD 소자가 피어투피어 전송을 통해 비교시험부(30)로부터 "쓰기" 데이터를 읽을 수 있도록 전송 디스크립터를 설정한다. 이때, 비교시험부(30)의 데이터발생부(33)가 데이터 생성 알고리즘을 구동하여 "쓰기" 데이터를 생성하여 SSD 소자에 공급한다.
다음, SSD 소자로부터 데이터를 되읽기하고 비교한다(S43). 호스트 CPU는 SSD 소자가 피어투피어 전송을 통해 비교시험부(30)로 "되읽기" 데이터를 쓸 수 있도록 전송 디스크립터를 설정한다. 이때, 데이터 발생부(33)가 데이터 생성 알고리즘을 구동하여 예상 데이터를 생성하고, 데이터 비교부(34)는 SSD 소자로부터 공급되는 "되읽기" 데이터와 예상 데이터를 비교하고 그 비교 결과를 결과정보저장부(35)에 저장한다.
다음, 호스트 CPU는 비교시험부(30)로부터 비교결과를 획득한다(S44). 즉, 호스트 CPU는, 비교시험부(30)의 내부 결과정보저장부(35)를 판독하여 비교 오류 정보를 검색한다. 이 결과정보저장부(35)는 내부 레지스터 및/또는 내부 메모리 공간에 마련될 수 있다.
이러한 이 발명에 따르면 데이터 비교 시험에서, 데이터 흐름이 PCI 익스프레스 스위치의 다운스트림 사이드에서만 유지된다. 그럼으로써 PCI 익스프레스 스위치의 업스트림 버스 인터페이스와 연관된 대역폭 문제가 제거될 수 있다. 이 기술은 또한 호스트 CPU로부터 데이터 비교를 수행하는 오버헤드 태스크를 제거되기 때문에, 호스트 CPU가 다른 작업을 수행하기 위한 CPU 사이클을 확보할 수 있도록 한다.
210 : 호스트 시스템 211 : 호스트CPU
212 : 메인메모리 213,214 : PCI 익스프레스 스위치
215 : 호스트브릿지 216, 217, 30 : 비교시험부
31 : PCI 익스프레스 인터페이스부 32 : 설정부
33 : 데이터발생부 34 : 데이터비교부
35 : 결과정보저장부

Claims (12)

  1. 호스트 CPU의 제어에 의해 쓰기 프로세스와 되읽기 프로세스가 수행되어 PCI 익스프레스 스위치의 다운스트림 포트에 장착된 메모리 소자의 데이터 비교 테스트를 수행하는 메모리 소자 테스트 장치에 있어서,
    상기 PCI 익스프레스 스위치의 다운스트림 포트에 연결되고, 상기 쓰기 프로세스에서 상기 메모리 소자에 쓰기 데이터를 공급하며, 상기 되읽기 프로세스에서 상기 메모리 소자로부터 되읽기 데이터를 제공받아 데이터 비교 테스트를 수행하는 비교시험부를 포함하고,
    상기 비교시험부는 상기 쓰기 프로세스에서 데이터 생성 알고리즘을 구동하여 상기 쓰기 데이터를 생성하여 상기 메모리 소자로 공급하고 상기 되읽기 프로세스에서 상기 데이터 생성 알고리즘을 구동하여 예상 데이터를 생성하는 데이터발생부와, 상기 되읽기 프로세스에서 상기 예상 데이터와 상기 메모리 소자로부터 읽은 되읽기 데이터를 비교하는 데이터비교부와, 상기 쓰기 프로세스 및 상기 되읽기 프로세스에서 상기 메모리 소자에 대응되는 주소 및 크기를 상기 데이터 생성 알고리즘의 키값으로 설정하는 설정부를 포함한 것을 특징으로 하는 메모리 소자 테스트 장치.
  2. 제 1 항에 있어서, 상기 비교시험부는 FPGA로 구현된 PCI 익스프레스 엔드포인트인 것을 특징으로 하는 메모리 소자 테스트 장치.
  3. 제 1 항에 있어서, 상기 비교시험부는 상기 PCI 익스프레스 스위치와의 인터페이스를 수행하는 PCI 익스프레스 인터페이스부를 더 포함한 것을 특징으로 하는 메모리 소자 테스트 장치.
  4. 제 1 항에 있어서, 상기 비교시험부와 상기 메모리 소자는 피어투피어 통신하는 것을 특징으로 하는 메모리 소자 테스트 장치.
  5. 제 1 항에 있어서, 상기 설정부는 다수의 데이터 생성 알고리즘 중 상기 데이터 생성 알고리즘을 선택하는 것을 특징으로 하는 메모리 소자 테스트 장치.
  6. 제 1 항에 있어서, 상기 비교시험부는 상기 데이터비교부의 비교결과 정보를 저장하는 결과정보저장부를 더 포함한 것을 특징으로 하는 메모리 소자 테스트 장치.
  7. 제 1 항에 있어서, 상기 PCI 익스프레스 스위치에는 다수의 메모리 소자들이 장착되고, 상기 비교시험부의 PCI 익스프레스 레인 대역폭은 상기 PCI 익스프레스에 장착된 모든 메모리 소자들의 전체 PCI 익스프레스 레인 대역폭의 합과 동일한 것을 특징으로 하는 메모리 소자 테스트 장치.
  8. PCI 익스프레스 스위치의 다운스트림 포트에 장착된 비교시험부가 상기 PCI 익스프레스 스위치의 다운스트림 포트에 장착된 메모리 소자의 데이터 비교 테스트를 수행하는 메모리 소자 테스트장치의 메모리 소자 테스트방법에 있어서,
    상기 비교시험부가 상기 메모리 소자에 대응되는 주소 및 크기를 데이터 생성 알고리즘의 키값으로 설정하고, 상기 데이터 생성 알고리즘을 구동하여 쓰기 데이터를 생성하며, 상기 쓰기 데이터를 상기 메모리 소자로 공급하는 쓰기 프로세스 단계와;
    상기 비교시험부가 상기 메모리 소자에 대응되는 주소 및 크기를 상기 데이터 생성 알고리즘의 키값으로 설정하고, 상기 데이터 생성 알고리즘을 구동하여 예상 데이터를 생성하며, 상기 메모리 소자로부터 공급되는 되읽기 데이터와 상기 예상 데이터를 비교하는 되읽기 프로세스 단계와;
    상기 비교시험부는 상기 되읽기 프로세스 단계의 비교 결과 정보를 저장하는 결과정보저장단계를 포함한 것을 특징으로 하는 메모리 소자 테스트 방법.
  9. 제 8 항에 있어서, 상기 비교시험부와 상기 메모리 소자는 피어투피어 통신하는 것을 특징으로 하는 메모리 소자 테스트 방법.
  10. 제 8 항에 있어서, 상기 비교시험부는 상기 쓰기 프로세스 단계 전, 다수의 데이터 생성 알고리즘 중 상기 데이터 생성 알고리즘을 선택하는 설정 단계를 더 포함하는 것을 특징으로 하는 메모리 소자 테스트 방법.
  11. 제 8 항에 있어서, 상기 쓰기 프로세스 단계는 상기 메모리 소자가 상기 비교시험부로부터 상기 쓰기 데이터를 읽는 단계를 포함한 것을 특징으로 하는 메모리 소자 테스트 방법.
  12. 제 8 항에 있어서, 상기 되읽기 프로세스는 상기 메모리 소자가 상기 비교시험부로 상기 되읽기 데이터를 쓰는 단계를 포함하는 것을 특징으로 하는 메모리 소자 테스트 방법.


KR1020140130710A 2014-09-30 2014-09-30 메모리 소자 테스트 장치 및 방법 KR101631461B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140130710A KR101631461B1 (ko) 2014-09-30 2014-09-30 메모리 소자 테스트 장치 및 방법
US14/661,390 US9626264B2 (en) 2014-09-30 2015-03-18 Memory device test apparatus and method having multiple memory devices connected to downstream ports of a PCI express switch at the same time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140130710A KR101631461B1 (ko) 2014-09-30 2014-09-30 메모리 소자 테스트 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160038235A KR20160038235A (ko) 2016-04-07
KR101631461B1 true KR101631461B1 (ko) 2016-06-17

Family

ID=55584547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140130710A KR101631461B1 (ko) 2014-09-30 2014-09-30 메모리 소자 테스트 장치 및 방법

Country Status (2)

Country Link
US (1) US9626264B2 (ko)
KR (1) KR101631461B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11269722B2 (en) 2018-09-18 2022-03-08 SK Hynix Inc. Apparatus for diagnosing memory system and operating method thereof

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371960A (zh) * 2016-08-31 2017-02-01 天津津航技术物理研究所 一种基于串口的非接触***测试的方法
KR101884070B1 (ko) * 2016-08-31 2018-08-02 사단법인 엑시콘산학공동연구소 PCIe 테스트 장치
US10418121B2 (en) * 2017-03-27 2019-09-17 Sk Hynix Memory Solutions Inc. Memory system with diagnose command and operating method thereof
CN107145416A (zh) * 2017-05-05 2017-09-08 郑州云海信息技术有限公司 一种支持ocp接口的pcie信号测试方法及测试治具***
CN107274933A (zh) * 2017-06-14 2017-10-20 湖南国科微电子股份有限公司 一种测试固态硬盘的方法及装置
US10169264B1 (en) * 2017-06-30 2019-01-01 Xilinx, Inc. Implementing robust readback capture in a programmable integrated circuit
DE102018125297A1 (de) 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. Speichereinrichtung, die Peer-to-Peer-Kommunikation mit externer Einrichtung ohne Eingriff eines Host durchführt
US10728172B2 (en) * 2018-03-28 2020-07-28 Quanta Computer Inc. Method and system for allocating system resources
CN110569162B (zh) * 2018-06-06 2020-10-16 大唐移动通信设备有限公司 一种通信领域中fpga的自动测试方法及装置
CN109144419A (zh) * 2018-08-20 2019-01-04 浪潮电子信息产业股份有限公司 一种固态硬盘内存读写方法及***
CN109495751A (zh) * 2018-10-30 2019-03-19 天津津航计算技术研究所 一种基于cpu+som+fpga的混合架构主板
CN109918230B (zh) * 2019-02-20 2021-01-26 杭州迪普科技股份有限公司 一种业务板卡异常恢复方法及***
CN109994147B (zh) * 2019-04-11 2021-02-02 环旭电子股份有限公司 一种固态硬盘的测试装置及方法
KR102130338B1 (ko) * 2019-09-17 2020-08-05 주식회사 엑시콘 PCIe 테스트 장치
CN111078600B (zh) * 2019-11-15 2021-04-27 苏州浪潮智能科技有限公司 一种基于PCIe Switch的RSSD大容量存储***
CN111475436A (zh) * 2020-04-07 2020-07-31 成都智明达电子股份有限公司 一种基于pcie交换网络的嵌入式高速sata存储阵列***
CN112416683B (zh) * 2020-11-28 2022-02-11 郑州信大捷安信息技术股份有限公司 一种pcie卡异步高性能测试方法和***
CN112416682B (zh) * 2020-11-28 2022-02-25 郑州信大捷安信息技术股份有限公司 一种支持多个pcie卡的同时测试方法和***
CN112416684B (zh) * 2020-11-28 2022-02-11 郑州信大捷安信息技术股份有限公司 一种基于多个虚拟pcie卡的异步测试方法和***
US20220382668A1 (en) * 2021-05-28 2022-12-01 Advantest Corporation Systems and methods for concurrent and automated testing of zoned namespace solid state drives
KR102600569B1 (ko) * 2021-11-04 2023-11-09 주식회사 엑시콘 PCIe 인터페이스 기반의 SSD 테스트 장치
CN115718692A (zh) * 2022-11-10 2023-02-28 深圳市硅格半导体有限公司 基于固件仿真的固态硬盘评估方法、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914174B1 (ko) 2009-02-18 2009-08-26 (주) 제노맥스 Fpga 컨트롤러 기반 테스터 인터페이스 장치
KR101254647B1 (ko) 2012-08-13 2013-04-15 주식회사 유니테스트 솔리드 스테이트 드라이브 테스트장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100197554B1 (ko) * 1995-09-30 1999-06-15 윤종용 반도체 메모리장치의 고속테스트 방법
AU2001296891A1 (en) * 2000-09-22 2002-04-02 Don Mccord Method and system for wafer and device-level testing of an integrated circuit
US20020194558A1 (en) * 2001-04-10 2002-12-19 Laung-Terng Wang Method and system to optimize test cost and disable defects for scan and BIST memories
DE10120668A1 (de) * 2001-04-27 2002-11-07 Infineon Technologies Ag Verfahren zum Testen der Datenaustausch-Funktionsfähigkeit eines Speichers
KR100624576B1 (ko) * 2004-06-11 2006-09-19 삼성전자주식회사 허브를 갖는 메모리 모듈을 테스트하는 방법 및 이를수행하기 위한 메모리 모듈의 허브
KR20090012499A (ko) * 2007-07-30 2009-02-04 삼성전자주식회사 실장테스트회로를 구비하는 반도체 메모리 장치 및실장테스트방법
KR100923832B1 (ko) 2007-12-28 2009-10-27 주식회사 하이닉스반도체 불휘발성 메모리 장치의 불량 여부 테스트 방법, 블록 관리방법, 소거 방법 및 프로그램 방법
KR100911252B1 (ko) 2008-12-31 2009-08-06 주식회사 네오셈 메모리 테스트장치 및 방법
KR100979248B1 (ko) 2009-02-20 2010-09-02 주식회사 네오셈 프로토콜변환보드를 사용한 ssd 소자 테스트시스템
US8718967B2 (en) * 2010-05-28 2014-05-06 Advantest Corporation Flexible storage interface tester with variable parallelism and firmware upgradeability
KR101090454B1 (ko) 2010-06-07 2011-12-06 주식회사 네오셈 솔리드스테이트드라이브 소자 테스트 장치 및 방법
US10162007B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
KR101537759B1 (ko) * 2013-09-30 2015-07-22 국방과학연구소 지상무인체계 시뮬레이터 및 그 운용방법
US9251915B2 (en) * 2013-11-11 2016-02-02 Advantest Corporation Seamless fail analysis with memory efficient storage of fail lists
US20150234764A1 (en) * 2014-02-18 2015-08-20 Aliphcom Accessibility and testing for hardware interfaces of end devices using path selectors
US20150234763A1 (en) * 2014-02-18 2015-08-20 Aliphcom Interacting with connectors of end devices using path selectors
US9563591B2 (en) * 2014-03-06 2017-02-07 International Business Machines Corporation Peripheral component interconnect express (PCIe) ping in a switch-based environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914174B1 (ko) 2009-02-18 2009-08-26 (주) 제노맥스 Fpga 컨트롤러 기반 테스터 인터페이스 장치
KR101254647B1 (ko) 2012-08-13 2013-04-15 주식회사 유니테스트 솔리드 스테이트 드라이브 테스트장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11269722B2 (en) 2018-09-18 2022-03-08 SK Hynix Inc. Apparatus for diagnosing memory system and operating method thereof

Also Published As

Publication number Publication date
KR20160038235A (ko) 2016-04-07
US9626264B2 (en) 2017-04-18
US20160092328A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
KR101631461B1 (ko) 메모리 소자 테스트 장치 및 방법
US10656993B2 (en) Apparatus, system, and method to increase data integrity in a redundant storage system
JP5220185B2 (ja) 故障したデータ記憶機構を検出し、置き換えるための装置、システム及び方法
US9306599B2 (en) Apparatus, system, and method for reconfiguring an array of storage elements
CN103597461B (zh) 闪存组件
US10846008B2 (en) Apparatuses and methods for single level cell caching
KR101547317B1 (ko) 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
US9997251B2 (en) Medium defect management method for storage systems requiring an integrated controller
US11500547B2 (en) Mitigating data errors in a storage device
US20150067418A1 (en) Storage tester capable of individual control for a plurality of storage
US11914474B2 (en) Efficient management of failed memory blocks in memory sub-systems
JP2009205316A (ja) ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置
US20200027518A1 (en) Protocol independent testing of memory devices using a loopback
US20210035645A1 (en) Data erase operations for a memory system
US20160342358A1 (en) Storage control apparatus and storage system
US11037638B1 (en) Write operations to mitigate write disturb
JP4256307B2 (ja) メモリカード
KR20210040463A (ko) 오류 정정 및 메모리 테스트 동작을 수행하기 위한 인-패키지 시퀀서를 포함하는 메모리 서브 시스템
CN103824600A (zh) 存储器测试方法及装置
CN112400156A (zh) 同时并基于对数据块的另一操作的执行速率对数据块执行操作
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US11431629B2 (en) Data packet management
CN114097039A (zh) 经停用超级管理单元的恢复管理

Legal Events

Date Code Title Description
A201 Request for 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: 20190408

Year of fee payment: 4