* of course if there's a better/cheaper/faster solution I'm all ears!ĭone smartly, the data can be compressed as it is written out.Ĭompression also doesn't work in our application, because a lot of the analysis is across the Z (e.g. Speed on the back end processing is not nearly as important as write speed on the front end, because you don't want to miss a single frame, line, or pixel when the million dollar experiment is happening. Once we've acquired our bajillion bytes on the card, we'll just map each section and read it as needed. The Win32 problem also limits how much RAM we can use on the CPU board, but it doesn't affect how much we can put on the card. Data comes in and we write to DRAM, and all latencies are known. With all the RAM on the card, next to the FPGA and interconnect, there's no bus contention or CPU to worry about. 2) one of our selling points is that we absolutely do not care what the heck is going on the backplane or in the CPU, and we guarantee that we will capture every damn byte of your data. 1) We're on legacy 32-bit/33 MHz CompactPCI, in Win32, with about a dozen other boards to support, so CPCIe isn't available to us any time soon.
Flash won't write nearly as fast as DRAM, and we want to go as fast as the FPGAs and external LVDS interconnects will run.Īnd yes, we're trying to stay off the backplane completely, for two reasons. Flash doesn't come on DIMMs, and putting a pseudo HDD interface (e.g. We want to build a card with 0 GB and lots of sockets, and then be able to populate it whenever we want to with whatever is available on the market at the time. The reason we're looking at DRAM is for write speed and ease of configurability/upgrading*. Or are you stuck interfacing with some legacy device? That said, unless you really need CompactPCI, perhaps looking at CompactPCI Express would be cheaper then building such a large DRAM cache? I've had very good results using PCI-E RF boards streaming at 1500+ MB/s over PCI-E 8x. Since hes asking about 100GB+ of memory, I'm guessing hes acquiring a lot faster then that. Generally the reason one sticks a few GB of DDR memory on a PCI card is that they can't (or haven't yet) upgraded to PCI Express, but still need to capture data much faster then the ~100 MB/s real world PCI transfer rate allows. It's much like using a backhoe to take the kids to school with!įlash would present a massively simpler interface, it'd be much cheaper, use far less power and you can fit way more gigabytes in the same space. Why are you using DRAM at all then? With DRAM you're paying a very large premium for fast random access and speed, qualities you don't want.
Any random access will be on the order of 1 MB at at time, and when we do that we won't really care about speed. It'll pretty much all be very long sequential writes and reads.