pinku,
First of all I would recommend taking a look at the following tutorial:
Maximizing the Performance of the NI 6534 Digital I/O Device
Available from our support page (ni.com -> Support -> Search for: +6534 +performance). The tutorial has concepts that will apply to the whole 653X line of boards. It also has some benchmarks that will allow you to gauge the expected performance of your application.
For continuous pattern input of more than 64 MB (the buffer limit imposed by Windows) you would have to perform a double-buffered acquisition where you write data to disk as you read it from the card.
Some suggestions:
1) Get the fastest computer you can get. Some specs that would help:
- Enough RAM to handle all applications loaded at the time. Memory paging will halt your acquisition. Excessive RAM would not help you go any faster, it would just help you make sure everything is loaded on physical memory.
- Fast Hard Drive. Newer hard drives get better throughput rates. SCSI would be nice but beware that a PCI SCSI controller would increase traffic through the PCI bus.
- Faster CPU. The CPU speed really helps to make sure the transition from application memory to the hard drive is as fast as possible.
2) Make sure you disable any processes or applications running in the background.
3) Disable any other devices on the PCI bus, including integrated devices. Things like network adapters would create traffic on the PCI bus even if you think you are not accessing the network at the time.
4) Write to the hard drive in blocks of power of 2 size. We have found that this makes the logging process much more efficient. Numbers will vary from system to system but the sweet spot we have seen lies around blocks of 16 KB.
5) Use a 6534. The on-board memory helps by alleviating occasional backlogs due to PCI traffic or CPU used by other applications or services.
Most of the questions you present above will be answered by the tutorial. The other recommendations will help you setup this specific application.
I hope this helps,
Alejandro Asenjo
Applications Engineer
National Instruments