I need to grab large amounts (4-8Gb) of data in realtime - without dropping any data.

The old system could just about keep up with writing the data to a striped RAID array but the data has got bigger, faster than the disk have got faster (!) So I don't have time to access the disk.  

The new plan is to switch to Win64, install LOTS of ram, stuff the incoming data into a buffer and then write it all at the end.

So I'm looking for:  

A windows API that limits new[] to physical memory and locks pages into physical ram, or I just disable the pagefile.

Or I use memory mapped files and force a sync at the end when I close the file. Is there a memory mapped file flag that prevents a write behind until I am ready?