We are contemplating using your RAM Disk product as a means of buffering a 5 GB/Sec data stream in a Windows 10 based data acquisition and analysis system. We are doing this to provide a buffer since the data acquisition rate of 5 GB/Sec exceeds the write speed of the system's SSDs, so we plan to allocate a 300 GB RAMDISK for this purpose. This RAMDISK would enable us to write 60 seconds of data (60 sec x 5 GB/Sec = 300 GB) to the RAMDISK which would then be written to the SSDs at about 2 GB/Sec.
In addition to buffering between the data acquisition and the storage subsystems, we would also like to support an analysis task that would concurrently access the data as it comes in (albeit with a little latency). Accordingly, we would have three tasks accessing the RAMDISK concurrently: 1) Data Acquisition Task streaming the data from the A-to-D Converters to the RAMDISK at 5 GB/Sec, 2) Storage Task reading the data from the RAMDISK and writing it to the SSDs at about 2 GB/Sec and 3) Analysis task that will is reading the data from the RAMDISK and analyzing it at up to 5 GB/Sec.
We plan to implement this on a AMD Epyc 7000 dual CPU system and we can have up to 2TB of DDR4 per CPU that runs at about either 80 GB/Sec or 200 GB/Sec, depending on CPU choice (4 or 8CH). The data acquisition time is one minute, so 5 GB x 60 Sec = 300 GB, hence the size of the RAMDISK.
Questions:
1) Assuming we have the 80 GB/Sec DDR4 memory architecture, can we support 1 task writing to the RAMDISK and 2 tasks reading from the RAMDISK, concurrently at up to 5 GB/Sec Write Speed and 2 x 5 = 10 GB/Sec Read Speed?
2) If not, then what about with the 200 GB/Sec DDR4 memory architecture?
3) If still not, then how would you suggest we accomplish this feat?
Thanks,
Ross