Streaming Data Throughput of cRIO-904x

Updated Apr 9, 2019

Reported In


  • cRIO-9040
  • cRIO-9047
  • cRIO-9043
  • cRIO-9045
  • cRIO-9049


  • LabVIEW Real-Time Module

Issue Details

What is the streaming data throughput of the CompactRIO-904x? I am interested in the maximum transfer rate of data from [the FPGA to] the Real-Time controller streaming data to an external memory storage.


In the most cases the streaming performance value to an external memory storage will be enough to define if a controller fits the requirements of an application.
  1. Select C Series modules based on your application needs
  2. Calculate maximum theoretical throughput of modules based on Sample Rate, Resolution and known details of the application
  3. Refer to the cRIO-904x Real-Time Streaming specifications to determine if the controller is capable of desired data transfer rates. Real-Time Streaming Performance section specifies typical streaming performance between processor memory and the following locations:
SD card40 MB/s
USB Type-C100 MB/s

Additional Information

For data logging applications, or applications that need to write to disk very often or with large amounts of data, it is recommended that you consider logging data to an external memory source and not to the on-board non-volatile memory.  This is because non-volatile memory have limited number of writes during their life-span, and it will be easier to replace an external memory storage device and it will be to replace your CompactRIO.  You may want to read more about this effect and how to calculate the life expectancy of your flash storage.

CompactRIO 904x Controllers have an ability to program each module independently with NI-DAQmx driver, LabVIEW Real-Time, or LabVIEW FPGA mode.  The different modes also affect the throughput of data to the storage device.  Defining throughput of a cRIO-904x will depend on your application and architecture.


Not Helpful