Capturing or generating signals using PC based instrumentation boards at tens or hundreds of Megabytes per second inevitably hits a bottleneck when continuous streaming to or from the hard disk is required. It is for this reason that very fast memory is often directly installed onto such cards, but where gigabytes of data are concerned this may provide insufficient storage space.
Is there a way forward? In the early days IDE hard drives for either the standard PC or Notebook plugged into PATA (Parallel Advanced Technology Attachment) ribbon cable. This interface steadily improved in terms of clock speed but hit a problem due to cross-talk interference between conductors making up the wide data ribbon cables, which is worst at high clock speeds. To combat this development of drives that can use SATA (Serial Advanced Technology Attachment) has in recent years provided a way forward where serial transmissions run across a single channel compared to the multiple channels of a parallel interface. This means that at the same clock speeds, the serial line will carry less data, but because the serial method requires fewer wires, less interference is generated to cause data integrity problems. This allows for serial transmission methods to run at much higher speeds than the equivalent parallel methods. Companies such as Dell now fit these drives as standard into most of their computers whilst a suitable SATA controller card can be retrofitted into older desktop PC's.
So is this a major jump in performance? Various evidence suggests a slight improvement but there other factors such as a hard drives cache size, spindle speed and access times to take into account, i.e. having a lightening fast connection bus connection is not the "be and end all". Another important factor to consider is what happens when the PC bus, be it PCI or enhanced PCI (known as PCI-X) is being used by another PCI/PCI-X device, such as a signal capture or generator card. Now the bandwidth has to be shared. A sum rate of 80 to 110 Mbyte/s, is about the maximum for a PCI bus under Windows where a continuous transfer is undertaken (the 132 Mbyte/s often quoted being a theoretical best). There is a way around this using high end twin PCI bus motherboards, which have separate bus controllers, or use PCI-X which can easily have twice the transfer rate. That said, PCI-Express, where every device has a separate bus, has completely removed the sharing problem and represents the best solution for multiple card installations.
Redundant Arrays of Inexpensive Disks; (RAID). The word "redundant" might be a little misleading here, in fact RAID usefully combines multiple small, inexpensive disk drives into an array of disk drives that yields performance and data security benefits which can exceed that of a single large (more expensive) drive. This array of drives appears to the computer as a single logical storage unit (drive). The key to increased performance under RAID is parallelism, where simultaneous access to multiple disks allows data to be written to or read from a RAID array faster than would be possible with a single drive. The chart below shows performance comparisons for single drives and the performance increases for a pair of SATA hard drives running with a RAID controller. Its values should not be taken as absolute as there are many factors to cause variation including the data block size and general hard drive performance, but it does give some relative idea of the performance advantages that could be gained.
RAID is most commonly available in configurations RAID 0, 1, 2, 3, 4, 5 or 10, but how to choose? Here we will look closer at systems 0 and 1, both of which will work with just two drives, and represent the entry level system most applicable for a PC based instrumentation system.
RAID Level 0. At this level, data is split across drives by a process called "striping", resulting in higher data throughput. Since no redundant information is stored, performance is very good and can be expected to approach double that of a single drive, but the failure of any disk in the array results in data loss. A RAID 0 can be created with disks of differing sizes, but the storage space added to the array by each disk is limited to twice the size of the smallest disk, so for example if a 100 GByte disk is striped together with a 320 GB disk, the total size of the array available for RAID 0 data will be 200 GByte.
RAID Level 1. This provides redundancy by writing all data to two (or more) drives in a "mirroring" process. As the data is identical on each drive, having a redundant drive has the advantage of always having a copy of the data safe, but it must be noted that there is no gain in storage size in this arrangement, for example using two 320Gbyte drives will yield 320Gbyte! The performance of a level 1 array tends to be faster on reads and slower on writes compared to a single drive or Raid 0, but if either drive fails, no data is lost.
So the choice really comes down to which is the most important to your application performance or data security. Most users of PC instrumentation will go for RAID 0 as the fastest and therefore the most viable way to capturing Gigabytes of data at the highest speed, selecting good quality hard drives to minimise the possibility of data loss through drive failure. There is a way of combining RAID 1 and 0 to get the best of both worlds, but four drives are required. The common way to undertake connection of two drives into a RAID system is by use of a controller built into the motherboard on "high-end" PC's, most commonly servers. If there is room internally for two or more drives and the motherboard does not have the RAID facility then a RAID controller card may be used, with on-board connections provided for the internal SATA signal wiring. Where space is at a premium an external box to hold the drives is also a possibility, the connection being via a cable e.g. SCSI. However let us go back to the controller card, the simplest and most cost effective for just two drives.
The Adaptec PCI-express controller card shown here can be configured for RAID 0 or 1, note the serial ATA cable connections to the rear, these are for direct wiring connection to the drives. Presently its operating system support extends to Windows 7, XP, 2000, RedHat and SuSE Linux. Such an entry-level system consisting of one such controller card plus two 250 Gbyte SATA drives, currently costs in the region of £150 to £200 +VAT, it really depends on the storage capacity and the quality of the drives. At these prices it's a good investment not just for PC instrumentation but for everyday office use too where RAID 1 mirroring of data helps guard against hard drive failure.
For an interesting comparison on performance between PATA, SATA and RAID follow this link: http://www.bjorn3d.com/read.php?cID=647
Dataquest Solutions range high speed instrumentation cards for external signal capture and pattern generation work well in RAID based systems, for further information you are welcome to visit our home page or contact us directly.
Dataquest Solutions 22.10.04, revised 12.01.12