Adding mass storage can be done by upgrading the on-board drive, by adding additional non-volatile memory, or by connecting to a network or cloud service. Not all methods are available for every system or application, and there are advantages and disadvantages with each.
Hard Drives vs. Solid State Drives
Traditional hard disk drives (HDD) utilize rotating magnetic storage plates with a mechanical arm that skims the surface to read and write data. Solid State Drives (SSD) on the other hand have no moving parts, and instead store data onto flash. HDDs have a higher density per cost than SSDs, but HDDs are generally larger, slower, and less rugged due to moving components. National Instruments Industrial Controllers and CompactRIO controllers are only available with SSD storage, whereas PXI and PXIe controllers include both HDD and SSD options.
Not all SSDs are created equal, as there are different types and grades of flash technology available. Picking the type of flash for your application is a tradeoff between price and endurance, where the consequences of picking the wrong flash may be the loss of critical data. Single-level Cell (SLC)-based drives are the most robust (but also most expensive) solution, but some applications may be tolerant of other less robust options such as Multi-level Cell (MLC) flash. For more information about flash technology and considerations for use of flash in industrial and embedded applications see Understanding Life Expectancy of Flash Storage.
Local vs. Network Storage
Local storage is accessible via controller peripherals that do not require a network connection. Local storage includes SATA, USB, and SD media, and is either integrated into the controller itself or located nearby via a USB connection. Network storage is accessible via network protocols and can include shared network drives and cloud services.
Upgrading On-board Local Storage
LabVIEW Real-Time controllers include non-volatile storage which is used to contain device firmware, operating system files, hardware drivers, system application files, and user application files.
While CompactRIO and Industrial Controllers have fixed storage which cannot be upgraded, PXI and PXIe Controllers have storage drives that can be replaced. This upgrade can either be performed as an option at the time of purchase, or by the installer and/or user at a later time. For more information about the types of drives that can be used in PXI and PXIe Controllers see What Type of Hard Drive Can I Use in a PXI Controller?.
Installing Additional Local Storage
Non-volatile storage can be added locally to LabVIEW Real-Time systems through a variety of methods covering a range of performance, ruggedness, and accessibility.
- Rugged USB Solid State Drive – The cRIO-9803 Solid State Drive provides access to a validated mSATA drive over USB SuperSpeed in an industrial form factor rated for CompactRIO temperature, shock, vibration, and hazardous location specifications. While designed for CompactRIO, this drive can be used with any LabVIEW Real-Time controller.
- Off-the-shelf USB Drive – A USB thumb drive or other external USB drive may be used in LabVIEW Real-Time systems. However, these devices will typically lack industrial specifications and care must be taken to select a drive that meets your application’s requirements.
- SD Card – Some CompactRIO controllers, such as the cRIO-903x and cRIO-904x, offer a SD Card or MicroSD Card slot. While performance is typically slower than SuperSpeed USB drives, these slots do offer a fully-integrated and compact option for expanding mass storage. See Controller product documentation for more information about using SD cards, including the types supported.
Cloud Storage Services
Applications that don’t require local storage and have access to network resources can utilize cloud storage services for data storage. The LabVIEW Cloud Toolkit for AWS provides interfaces to Amazon Web Services. For more information and to download the toolkit see the LabVIEW Cloud Toolkit for AWS by NI.