개요
지금까지 계측 시스템에서 데이터 스트리밍은 제한적으로만 실행되었습니다. 버스를 통해 컨트롤 PC로 인터페이스하는 독립형 계측기에서 버스에는 전송 속도를 유지할 수 있는 대역폭이 결여되어 있기 때문에 계측기는 높은 샘플링/업데이트 속도로 데이터 수집 또는 생성을 진행해야 했습니다. 한 예로, 독립형 오실로스코프를 이용한 대부분의 수집은 한계가 있었습니다. 즉, 수집 시간은 오실로스코프에서 사용가능한 온보드 메모리의 양에 따라 좌우되었습니다. 수집이 완료되면 데이터는 컨트롤 PC로 전송됩니다. 같은 방식으로, 독립형 임의 파형 발생기에서 웨이브폼은 디바이스의 온보드 메모리에서 다운로드되며, 본 단일의 웨이브폼이 한번 생성되거나 디바이스 메모리의 데이터를 반복합니다.
PXI 플랫폼은 고대역폭 PCI 및 PCI Express 버스를 기반으로 하므로 온보드 디바이스 메모리가 아닌 소스(로/부터) 데이터를 스트리밍합니다. PXI 오실로스코프에서는 데이터가 PCI 또는 PCI Express 버스를 통해 온보드 디바이스 메모리로부터 리얼타임으로 전송되므로 PXI 오실로스코프는 충분히 높은 샘플링 속도 (최고 2 GBytes/s)로 지속적으로 데이터를 수집할 수 있습니다. 따라서 데이터가 디바이스 메모리로부터 전송되기 이전에 오버라이트 (overwrite)되지 않았음을 보장합니다.
PXI 시스템에서 실행되는 데이터 스트리밍 아키텍처에 대해 알아보기 전에 PCI 및 PCI Express 버스에서 스트리밍이 어떻게 진행되는 지를 이해할 필요가 있습니다.
목차
PCI 버스를 통한 데이터 스트리밍
PCI는 병렬 버스입니다. 가장 보편적으로 실행되어 PXI에서 사용되는 방식은 33 MHz 클럭의 32 비트입니다. 이 경우 이론적으로 132 MB/s (약 110 MBytes/s 지속 가능)의 최고 대역폭을 얻을 수 있습니다. PCI 버스는 병렬이므로 버스 상의 모든 디바이스는 대역폭을 공유합니다. PCI 디바이스로 수집되는 데이터는 온보드 디바이스 메모리에서 PCI 버스, PCI 컨트롤러를 통해, I/O 버스를 거쳐서 시스템 메모리 (RAM)로 전송됩니다. 그 후, 데이터는 시스템 메모리에서 I/O 버스를 거쳐 하드 드라이브로 전송됩니다. CPU는 전 과정을 관리합니다. PCI 디바이스에서 생성되는 데이터는 반대의 경로를 따릅니다. 또한, PCI 버스 상에서 두 개의 디바이스간 피어 투 피어 (peer-to-peer) 데이터 스트리밍도 가능합니다. 그림 1은 PXI와 같은 PCI 기반 시스템의 데이터 스트리밍 아키텍처를 도식화합니다.
PCI Express 버스를 통한 데이터 스트리밍
PCI 버스의 발전된 형태인 PCI Express는 PCI와 소프트웨어 호환성을 유지하는 동시에 병렬 버스를 고속 (2.5 Gbits/s) 시리얼 버스로 대체합니다. PCI Express는 레인이라고 불리는 차동 신호 쌍을 통해 데이터를 전송합니다. 각 레인의 방향별로 250 MBytes/s 대역폭을 제공합니다. 여러 레인이 그룹화되어 x1 ("by one"으로 발음), x4, x8, 및 x16의 링크 폭을 가진 링크를 형성할 수 있습니다. x16 링크는 방향당 4 GBytes/s 대역폭을 제공합니다. 또한, 버스에서 모든 디바이스가 대역폭을 공유하는 PCI와는 달리 PCI Express 디바이스에는 전용 대역폭이 있습니다. PXI Express는 최고 6 GBytes/s의 전체 시스템 대역폭 (컨트롤러에서 백플레인)을 지원하며 슬롯당 최고 2 GBytes/s의 전용 대역폭 (백플레인에서 모듈)을 제공합니다.
PCI Express 디바이스로 수집되는 데이터는 온보드 디바이스 메모리에서 전용 PCI Express 링크를 거치고, I/O 버스를 통해 시스템 메모리로 전송됩니다. 그 후, 데이터는 시스템 메모리에서 I/O 버스를 거쳐 하드 드라이브로 전송됩니다. CPU는 전 과정을 관리합니다. PCI Express 디바이스에서 생성되는 데이터는 반대의 경로를 따릅니다. 피어 투 피어 (Peer-to-peer) 데이터 스트리밍은 두 개의 PCI Express 디바이스 사이에서도 가능합니다. 그림 2은 PXI Express와 같은 PCI Express 기반 시스템의 데이터 스트리밍 아키텍처를 도식화합니다.
PCI 및 PCI Express는 고대역폭 버스로써, PXI 계측 및 데이터 수집 시스템에서 수 많은 데이터 스트리밍 아키텍처를 실행하도록 합니다. 본 아키텍처에는 다음이 포함됩니다.
- 디바이스 메모리
- 컨트롤러 메모리
- 컨트롤러 하드 드라이브 (RAID 어레이 포함)
- Direct-to-disk 컨트롤러
디바이스 메모리
앞에서 살펴본 바와 같이, 계측기에서 수집된 데이터를 온보드 디바이스 메모리로 스트리밍하거나 온보드 디바이스 메모리에서 계측기로 데이터를 생성하는 것은 가장 보편적인 데이터 스트리밍 아키텍처입니다. 메모리는 디바이스에 있어 로컬이며 데이터는 버스를 통해 전송될 필요가 없으므로, 계측기의 최대 샘플링 또는 업데이트 속도로 작성되거나 읽을 수 있습니다. 또한, 데이터 스트리밍이 온보드 FPGA 또는 ASIC에 의해 수행되므로, 시스템 컨트롤러의 최소한의 프로세싱이 요구됩니다. (그림 3 참조) 본 데이터 스트리밍 아키텍처에 대한 API 지원은 가장 흔히 사용되는 경우이므로 대체적으로 간단 명료합니다.
디바이스 메모리 내외로 데이터를 스트리밍할 때의 가장 큰 단점은 제한된 깊이입니다. 이 때문에 샘플링/업데이트 속도와 레코딩/플레이백 시간 사이의 균형을 맞추어야 합니다. 내쇼날인스트루먼트는 채널당 최고 512 MBytes 메모리의 PXI 모듈을 제공하고 있습니다. 200 MSamples/s로 수집하는 8 비트 디지타이저를 사용하면 메모리는 단지 2.5 초만에 꽉 차게 됩니다. 디바이스 메모리는 계측기에 통합하는 데에 관련된 설계상의 문제로 인해 표준 PC 메모리보다 가격도 훨씬 높습니다.
컨트롤러 메모리
PXI 시스템 컨트롤러에서 사용가능한 메모리 (RAM)는 온보드 디바이스 메모리보다 깊이가 향상되었습니다. 임베디드 컨트롤러 또는 PXI 시스템을 원격 컨트롤하는 PC에서는 최대 4 GBytes의 메모리가 사용됩니다. 본 메모리는 표준 PC RAM이므로 디바이스 메모리보다 저렴합니다.
컨트롤러 메모리로 스트리밍은 디바이스 메모리로부터 PCI 또는 PCI Express 버스를 거쳐, PCI 컨트롤러를 통해 (PCI의 경우) I/O 버스로 진행됩니다. 컨트롤러 메모리로부터의 스트리밍은 반대 방향으로 진행됩니다. PXI 모듈을 사용하면 PCI 버스는 데이터 스트리밍 속도를 약 110 Mbytes/s로 제한합니다. PXI Express 모듈에서는 그림 4에서 보듯이 최대 데이터 스트리밍 속도는 섀시, 컨트롤러, 모듈과 같은 컴포넌트 (최소의 PCI Express 링크폭)에 의해 결정됩니다. 예를 들어, x4 섀시, x4 컨트롤러, 및 x1 모듈로 구성된 시스템에서 모듈은 특정 슬롯의 최대 데이터 스트리밍 속도를 250 Mbytes/s로 제한합니다. 수집 (디바이스 메모리에서 컨트롤러 메모리로) 또는 생성 (컨트롤러 메모리에서 디바이스 메모리로)에 필요한 데이터 전송 속도 관리를 위해 특정 프로세싱이 요구됩니다.
컨트롤러 하드 드라이브
PXI 컨트롤러 하드 드라이브는 데이터를 계측기 또는 데이터 수집 모듈(로/부터) 스트리밍하기 위한 대용량, 저가형의 스토리지를 제공합니다. 임베디드 컨트롤러, 랙마운트 컨트롤러 또는 PXI 시스템을 원격 컨트롤하는 PC에 있어 하드 드라이브는 인터널(internal)입니다. 시스템에 있어서 하드 드라이브는 익스터널(external)이며, PXI/PXI Express 주변 모듈 또는 여러 임베디드 컨트롤러에서 사용 가능한 ExpressCard 슬롯에 장착된 ExpressCard 모듈로 인터페이스됩니다. PXI Express 또는 ExpressCard 모듈 중 하나를 사용하면 PCI Express 버스는 I/O 버스와 하드 드라이브간 인터페이스를 제공합니다.

[+] 크게 보기
그림 5. 여러 PXI 및 PXI Express 임베디드 컨트롤러는
PCI Express 버스를 사용하여 외장 하드 드라이브로 인터페이스하는데
사용되는 ExpressCard 슬롯을 포함하고 있습니다.
컨트롤러 메모리로의 스트리밍은 디바이스 메모리에서 PCI 또는 PCI Express 버스를 거쳐, PCI 컨트롤러 (PCI의 경우)를 통해 I/O 버스로 진행됩니다. 컨트롤러 메모리로부터 스트리밍은 반대 방향으로 진행됩니다. 수집 (디바이스 메모리, 컨트롤러 메모리에서 하드 드라이브로)에 필요한 프로세싱 또는 생성 (하드 드라이브, 컨트롤러 메모리에서 디바이스 메모리로)에 필요한 데이터 전송 관리를 위해 컨트롤러의 프로세싱이 요구됩니다.
하드 드라이브의 내장, 외장 여부와 상관없이 하드 드라이브(로/부터) 데이터가 작성되거나 읽히는 속도는 데이터 스트리밍 속도를 제한합니다. 본 속도를 증가시킬 수 있는 한 가지 방법은 여러 하드 드라이브의 RAID-0 어레이를 사용하는 것입니다. RAID는 독립적인 디스크의 반복되는 어레이를 의미합니다. RAID-0 어레이는 여러 하드 드라이브에서 데이터를 균등하게 분배함으로써 하드 드라이브(로/부터) 데이터가 작성되고 읽히는 속도를 증대합니다. (그림 6 참조) 한 예로, 2개의 SATA II 하드 드라이브의 RAID-0 어레이로 구성된 NI PXI-8351 또는 PXIe-8351 랙마운트 컨트롤러를 사용하면 데이터는 데이터 수집 모듈의 계측기로부터 디스크로 최고 80 Mbytes/s로 스트리밍됩니다.
Direct-to-Disk 컨트롤러
PXI 시스템에서, 컨트롤러 메모리 또는 하드 드라이브(로/부터) 스트리밍을 진행할 때 PCI 컨트롤러 (PCI의 경우), I/O 버스, 컨트롤러 메모리 및 프로세서는 데이터 경로를 공유하므로 데이터 스트리밍 대역폭을 나눕니다. 또한, 데이터 흐름을 관리하는 OS, 드라이버 및 어플리케이션 소프트웨어로 인해 대기 시간이 발생합니다. 뿐만 아니라, OS의 파일 I/O 관리는 결정성을 구현하지 않습니다.
이러한 제약을 극복하기 위해 direct-to-disk 컨트롤러를 PXI 또는 PXI Express 계측기 및 데이터 수집 모듈과 병행하면 하드 드라이브의 어레이(로/부터) 데이터를 장시간동안 지속적인 높은 속도로 직접적이며 결정성있게 레코딩 또는 플레이백할 수 있습니다. PXI 또는 PXI Express direct-to-disk 컨트롤러 모듈로, 데이터는 디바이스 메모리에서 PCI 또는 PCI Express 버스를 거쳐 direct-to-disk 컨트롤러에 직접 스트리밍됩니다. (그림 7 참조) 데이터 생성의 경우, 데이터는 direct-to-disk 컨트롤러 모듈에서 PCI 또는 PCI Express 버스를 거쳐 계측기에 탑재된 디바이스 메모리로 직접 스트리밍됩니다.

그림 7. Direct-to-disk 컨트롤러는 하드 드라이브의
어레이(로/부터) 데이터를 장시간동안
지속적인 높은 속도로 직접적이며 결정성있게
레코딩 또는 플레이백할 수 있습니다.
PXI 플랫폼을 위한 direct-to-disk 컨트롤러의 한 예는 Conduant StreamStor 입니다. StreamStor PXI-808 모듈은 PXI 계측기와 병행되어 110 Mbytes/s의 지속적인 속도로 데이터를 직접 레코딩 또는 플레이백합니다. 수집을 위해, PXI 계측기용 인스트루먼트 드라이버는 디바이스 메모리(로/부터) 데이터를 작성하고, PCI 버스를 거쳐 StreamStor 컨트롤러에 맵핑된 메모리 주소로 직접 전송됩니다. 그 후, 컨트롤러는 최대 8개의 400 GByte SATA 하드 드라이브 (최대 3.2 테라바이트 용량)의 뱅크에 데이터를 작성합니다. 데이터 생성은 반대 방향으로 진행됩니다. 그림 8은 StreamStor direct-to-disk 컨트롤러가 있는 PXI 계측 시스템입니다.
PXI 계측 및 데이터 수집 시스템에서 direct-to-disk 컨트롤러 사용에 대한 더욱 자세한 정보는 리얼타임 레코더와 통합을 통한 테라바이트 계측 실행 기술백서를 참조하십시오.
결론
고대역폭 PCI 및 PCI Express 버스에 기반한 PXI 플랫폼을 통해 인스트루먼트는 온보드 디바이스 메모리가 아닌 컨트롤러 메모리, 컨트롤러 하드 드라이브 및 direct-to-disk 컨트롤러 등의 소스(로/부터) 데이터를 스트리밍할 수 있습니다. 개별 인스트루먼트로 최고 2 GBytes/s 대역폭을 제공하는 PXI는 독립형 계측기에서는 불가능한 데이터 스트리밍 어플리케이션을 구현합니다.
관련 NI 제품 및 기술백서
자동화 테스트의 선두주자인 내쇼날인스트루먼트는 엔지니어들이 차세대 테스트 시스템을 구축할 수 있도록 다양한 하드웨어 및 소프트웨어 제품 공급에 힘쓰고 있습니다.
소프트웨어:
하드웨어:
- 모듈형 계측기 (오실로스코프, 멀티미터, RF, 스위치 및 기타)
- 다기능 데이터 수집
- PXI 시스템 구성요소 (섀시 및 컨트롤러)
- 인스트루먼트 컨트롤 (GPIB, USB 및 LAN)
기술백서:
NI는 차세대 테스트 시스템 개발자 가이드를 제공합니다. 본 가이드는 적은 비용으로 테스트 생산성을 증대하며 향후 프로젝트로 확장가능한 시스템을 개발하기 위한 여러가지 기술백서로 구성되어 있습니다.
법적 정보
"이 튜토리얼 (이 ""튜토리얼"")은 내쇼날인스트루먼트 (""NI"")가 개발한 것 입니다. 이 튜토리얼에 대한 내쇼날인스트루먼트의 기술 지원이 가능하더라도, 이 튜토리얼의 내용은 완전하게 테스트 및 검증되지 않을 수 있으며, NI는 어떠한 방식으로도 품질 또는 관련 제품 및 드라이버의 새로운 버전에 따른 컨텐츠의 지속적인 지원을 보장하지 않습니다. 이 튜토리얼은 어떠한 종류의 보증 및 NI.COM의 이용 약관에 명시된 특정한 제약 규정에 대한 전제 없이 있는 그대로 제공됩니다. (http://ni.com/legal/termsofuse/unitedstates/us/)






