i think you have different cases:
1-same frequency and both clock are synchronous --> no need to any type of synchronization but you may need fifo depending upon requirnment.
2-same frequency and asynchronous --> you my need to use synchronization circuit which is a simple 2 or 3 flip flops.
3-different frequency:
a-if the two frequencies are doubled or have this relation f1 = (2^n)*f2 ,n =1,2,3,... and synchronous--> then you may need to use synchronization circuit and try to adjust the receiver that what will read for n-clock cycle is the same data.
b-if they are the two frequencies are not related or asynchronous --> here you may use either hand shacking synchronizer or asynchronous FIFO depending upon: burst mood ,read and write rate.