Best Strategy for SPI/SD/FRAM Data Logging

I have a sensor on SPI (sampling at 250 Hz) and I'm utilizing FRAM as temporary storage for those data, then planning on dumping FRAM to an SD card every 5 minutes or so. I suppose this is a question of if sharing a central SPI bus is going to limit my ability to stream data into either FRAM or the SD card?

Take the sensor for example (32-bit integers). The simplest, but perhaps not the most efficient is to write each value to FRAM after each sample. Is there a better way to leverage Arduino/SAMD18G to more efficiently connect data input on the SPI port to FRAM?

Similarly, when "dumping" FRAM to the SD card, is there a better way to do this by utilizing multiple SPI ports or is there little advantage in my case to just selecting one chip at a time and reading/writing in a loop? I assume there might be some performance advantage of reading chunks from FRAM into the uC, then dumping those chunks, rather than doing this int-by-int.

Thanks a lot!

There is a way to do it in hardware but it is way to complicated to explain here. You can get FRAM that interfaces with I2C, this will prevent the SPI from choking on SD access. The I2C is slower but it can be sped up if you want. There are many examples on the web for doing this. Please note your wiring needs to be clean and short. With some care you can write data to the SD card as a background task as it comes in to save dump to SD time at the end.. This response is to help you get started in solving your problem, not solve it for you.
Good Luck & Have Fun!