Read ahead if the address is deterministic... 0 clock delay reads.
I'm a little new to this, what do you mean by read ahead?
Well, as an example, with Cyclones, the large M9K dual port rams operate at the highest possible FMAX with a read pipeline delay of 2 system clocks, so, I always use that 2 clock cycle delay and have to engineer around it.
Now in your case, if you know the read address ahead of time, just send that address the 1 or 2 clocks early and your 'read' data will be ready by the time you need it, IE: 0 clock delay.
Remember, just because the read takes 1 or 2 clocks until you get a result, this doesn't means you have to wait for that result before you can send in another address. You can send a new address on every single clock cycle. It's only that the 'data' coming out of the ram block is the result of the address you sent in 2 clock cycles earlier. This is what we mean by pipe-lining. This is akin to a look-ahead cache. Learning how to deal/code around this is a must with FPGA if you are targeting pure throughput performance.
However, if you are waiting for the data to be written first, it already sounds like your processor is faster than the acquisition rate, hence why use any ram. Process in real time.