Hmm, lets see. Best case scenario.

You're using zero write time SPI FRAM, and the SSP module to communicate with it at 1Mbit/sec.

There are 3000 records of 3 bytes each. you have to transmit 2 address bytes to read or write and each byte is 8 bits. that's a total of 120,000 bits to shift out at 1Mbit/sec.

That's 0.12 seconds.
But of course you have to read each byte first before you can write it back in a new location, so we'll double that for 0.24 seconds.

Now add in the processing time on the PIC side, (not much when you're just reading and writing it back out again).

Should be able to do it in a half a second or so. My optimistic estimate.
<br>