INDUSTRY INSIGHT
Storage Interfaces
FPGAs Implement Storage Interfaces for Data Recording Systems
Implementing storage interfaces for data recording and playback systems can be tricky, due to bandwidth, size and reliability constraints. A novel approach uses FPGAs as part of a complete system-on-chip solution.
STEVE BIRCH, TEK MICROSYSTEMS
Real-time data recording and playback is an important capability in many high-performance processing applications, such as military sensor processing. To enable this capability, it is highly desirable to leverage the rapid technological and economic advances that have been made in mass-market IT applications. The demands of these applications have led to a proliferation of cost-effective, high-performance, high-capacity data storage devices, with well-defined interfaces based on open standards protocols such as SCSI, Fibre Channel and Serial ATA.
However, typical high-performance processing applications offer some specific challenges that make it more difficult to extract the required performance and functionality from standard storage interface implementations. There are two challenges frequently encountered in the high-performance sensor processing application space.
First, sensors such as radar front ends or camera systems may generate very high bandwidths of digital data, and typically the storage system must offer real-time recording and playback capabilities. Data rates in excess of 3 Gbytes/s from a single sensor channel are not uncommon. The second challenge is the fact that embedded applications, especially those in rugged operating environments, may be constrained in terms of size, weight and volume, as well as by the need to operate reliably over extended periods of time.
Mass-market storage interface implementations typically utilize dedicated chipsets and standard storage interface circuit boards designed to operate within server or desktop computer environments. Deploying such devices within embedded systems will not necessarily address these systems’ bandwidth efficiency and size constraints.
Using FPGAs to Implement Storage Interfaces
Rather than using standard chips and interface cards to implement storage interface solutions, it is possible to deploy state-of-the-art FPGAs to realize the storage interface as part of a complete system-on-chip (SoC) solution.
FPGAs are increasingly employed in high-performance processing systems to provide both a flexible interface component and a high-speed data processing resource. These devices now also include a rich set of on-chip hardware resources that can be used to build storage interfaces such as Fibre Channel, Serial ATA and InfiniBand.
For example, some devices in the Xilinx Virtex 2 Pro, Virtex 4 and Virtex 5 FPGA families contain multi-gigabit transceiver (MGT) resources. These resources can be employed to implement the physical layer of storage area interfaces such as Fibre Channel. Larger FPGA chips contain up to 20 such MGT resources, allowing the implementation of multiple storage interfaces on a single device.
Devices in these FPGA families also contain embedded PowerPC processing cores that can be employed to implement the more intricate parts of the storage interface protocol layers using software.
By coupling these types of hardware resources with the very large configurable logic arrays found on FPGAs, it is possible to design storage interface implementations optimized to exactly meet the needs of the target application. This is done via custom hardware and software implemented in the FPGA.
Furthermore, due to the degree of flexibility and reuse offered by implementing the storage interface entirely within the FPGA, it is relatively easy to create optimized solutions for a wide range of different real-time applications. For example, a Fibre Channel storage interface core can be deployed in one application where input data is being received from an A/D converter device. The same core could be easily retargeted for an application that receives input data from some form of high-speed digital interface.
All of this can be achieved within the confines of a single physical chip, alongside other system functionality such as digital signal processing if required. Consequently, the FPGA approach to implementing the storage interface is also attractive in terms of its size and system reliability improvements.
Two different types of systems may be examined to show how storage interfaces on an FPGA can be used to realize data storage functionality for high-performance, real-time embedded applications with a range of constraints and requirements.
FPGAs in a Serial FPDP Compact Digital Data Recorder
Serial FPDP (SFPDP) is a popular interface standard widely used in high-performance systems. The protocol has been kept very simple in order to support high-bandwidth, low-latency transfer of data streams between remote nodes in a system. A data stream is serialized onto a fiber optic link that also enables transfer of data over long distances. A typical application of serial FPDP would be to interface a front-end sensor, such as a radar antenna located on the outside of an aircraft, to a remotely located processing or display system inside the aircraft’s cockpit.
An FPGA can be used to implement a complete system-on-chip solution that converts an SFPDP data stream to a Fibre Channel storage interface to a Fibre Channel disk or RAID system (Figure 1).


Kontron
Interphase