Implementing Terabyte Instrumentation Through Integration with Real-Time Recorders
Many test and data acquisition applications require the acquisition or generation of a tremendous amount of information – much more than built into the onboard memory of off-the-shelf oscilloscopes and arbitrary waveform generators. Traditionally, those that needed more information than allowed in the memory of traditional instruments resorted to high-end, proprietary, and expensive systems to implement their solution. However, PC-based virtual instrumentation provides another answer. Using modular PCI or PXI-based instruments, combined with off-the-shelf hard-drive technology, the memory depth of instruments can be extended into Terabytes – effectively creating Terabyte Instrumentation.
Common Applications
Deep memory has long been a key feature of instruments such as oscilloscopes, arbitrary waveform generators, vector signal generators and analyzers, and logic analyzers. With deep memory, engineers are able to tackle a range of applications from signal simulation to advanced system troubleshooting.
- Signal simulation. The ability to stream from extremely deep memory to a Arbitrary Waveform Generator and RF Vector Signal Generator allows for the simulation of complex, modulated signals. This addresses research and development needs when designing communication systems while modeling real-world conditions.
- Signal recording and monitoring. The ability to have long-duration RF signal recording with cost-effective, vehicle-portable systems such as PXI has applications in the communications field, as well as military applications such as signal intelligence. The combination of high resolution and dynamic range of modular instruments with the deep-recording capability provides a powerful tool.
- Advanced system troubleshooting. Whether troubleshooting embedded systems or communication networks, all engineers are probably familiar with the dreaded “unreproducable glitch” problem facing any design. Where complex triggering mechanisms or other methods to gain data on the problem fail, the ultra-deep memory of up to 2 terabyte recording may succeed. For example, consider the situation where you have intermittent glitch in a circuit or communication network that only seems to occur at night or on the weekends. With Terabyte Instrumentation, you can setup continuous, complete monitoring on the system in order to catch data around the glitch for troubleshooting.
Terabyte Instrumentation Architecture – Real-Time Data Recording and Playback
In a standard PC-based architecture, high-speed stream-to-disk applications face several bottlenecks that result in recording and playback rates in the 5 – 30 Mbytes/sec range. These factors include:
- Shared data paths through the PCI controller, I/O bus, CPU, and memory that divide down bandwidth
- Latencies introduced by the operating system and application software managing data flow
- Non-deterministic operating system management of File I/O
To overcome these limitations, a Conduant StreamStor controller can be paired with PCI-based instruments to directly record or playback data at high rates. The instrument driver writes data directly to a memory address mapped to the StreamStor controller, which then deterministically writes the data to a bank of up to eight 250 GByte hard-drives for a total storage capacity of up to 2 Terabytes of information.

Figure 1. Data is passed directly to the StreamStor controller over the PCI bus, providing a deterministic, high-bandwidth data path. For example, this architecture allows a 14-bit digitizer to record up to 2 Terabytes of information at up to 55 MSamples/s.
Common Configurations
As of April 2004, Conduant StreamStor products are supported by the NI PXI-5122 100 MS/s 14-bit Digitizer and NI PXI-5421 100 MS/s 16-bit Arbitrary Waveform Generator from National Instruments. Additionally, this provides support for the NI PXI-5600 2.7 GHz RF Downconverter and NI PXI-5610 2.7 GHz RF Upconverter as well, allowing high-speed streaming applications into the RF range.
Combining the StreamStor architecture with the NI PXI-5122 100 MS/s 14-bit digitizer and NI PXI-5421 100 MS/s 16-bit Arbitrary Waveform Generator allows extremely deep memory recording and playback of transient signals. For example, up to 2 Terabytes of data can be recorded using a single channel of the NI PXI-5122 at a rate up to 55 MSamples/s.

[+] Enlarge Image
Figure 2. This 18-slot PXI system contains an RF Vector Signal Analyzer and Generator, connected to a Conduant Big River DM4 Hard Drive Enclosure with a PXI StreamStor Real-Time Recorder. (Note: The NI PXI-5620 digitizer, which is pictured, is not supported. The NI PXI-5122 digitizer should be paired with the NI PXI-5600 RF downconverter.)

Figure 3. Terabyte Instrumentation Architecture. Combining PXI or PCI Modular Instruments with a StreamStor Real-Time recorder provides reliable recording and playback at sustainable rates up to 55 MSamples/s.
Results
National Instruments has measured a sustainable recording rate of up to 110 Mbytes/second when combining the NI PXI-5122 with the StreamStor controller. Combined with an array of up to 8 Serial ATA hard-drives, the system can record or playback up to 2 Terabytes of data. Table I below demonstrates the relationship between number of channels, bus bandwidth, and memory depth of the given system.
Table I. Recording and Playback Sample Rates with National Instruments Modular Instruments
Max Sustainable Sample Rate | Bandwidth | Max Memory Depth | |
| Channels | (Msamples/sec per channel) | (Mbytes/Sec) | (Mbytes/Ch) |
1 | 55 | 110 | 2,000,000 |
2 | 28 | 110 | 1,000,000 |
4 | 14 | 110 | 500,000 |
6 | 9 | 110 | 333,333 |
8 | 7 | 110 | 250,000 |
10 | 6 | 110 | 200,000 |
12 | 5 | 110 | 166,667 |
Software Implementation
Software implementation can be done in LabVIEW, C, and Visual Basic by using “Direct DMA” functions integrated into the NI-SCOPE and NI-FGEN drivers. For example, the function “niScope Direct DMA Fetch Binary” is used to acquire data from the digitizer and pass it directly to a memory address (bufferAddress) provided by the Conduant StreamStor controller driver. At each call of “Direct DMA Fetch Binary” in a while-loop, data is passed from the NI PXI-5122 digitizer to the StreamStor controller, which then writes to a deterministic, high-speed bank of off-the-shelf Serial-ATA hard-drives. The inputs and outputs of he Direct DMA Fetch Binary function are shown below in Figure 3.

Figure 3. The LabVIEW function “niScope Direct DMA Fetch Binary.vi” is used to pass data directly to a StreamStor controller over the PCI bus, bypassing the CPU and allowing very high bandwidth continuous recording of data.
Figure 4 below shows the integration in LabVIEW of the StreamStor and NI-Scope drivers. The StreamStor driver is used to configure parameters of a DMA channel for passage of data directly from the NI 5122 Digitizer to the StreamStor controller. This address space is then used as the input to the “Direct DMA Fetch Binary” function.

[+] Enlarge Image
Figure 4. Screen snapshot of LabVIEW code to acquire and record up to 55 MSamples/s of data with the 14-bit NI 5122 digitizer.
Driver Support
The table below summarizes product and driver support for various National Instruments Modular Instrumentation and Data Acquisition products. Use the table below to determine which products and drivers contain support for StreamStor.
Table II.

[+] Enlarge Image
Additional Information
For more information on Terabyte Instrumentation systems, please contact any of the following people:
Spencer Stock
National Instruments
PXI Product Manager
spencer.stock@ni.com
(512) 683-5624
Michael Schneider
National Instruments
Instrument Product Manager
michael.schneider@ni.com
(512) 683-5808
Mark Walker
Conduant Corporation
Vice President of Sales and Marketing
mark@conduant.com
(303) 485-7769 x105
Reader Comments | Submit a comment »
Add PXI bus note
As addition information to the "100
Mbyte/sec sustained" note in the drawing
please add a note on the PXI bus
configuration, i.e. 32-bit/33MHz or 64-
bit/33 MHz.
Thanks,
Kent
- Jul 23, 2004
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
