Is memory bandwidth advertised for DRAM (like 12800 MB/s for PC-12800) ever achievable?
Well, you're never going to get that exactly.  That's the theoretical max bandwidth.  However, you can get pretty close.  DRAM is set up so that rather large blocks can be read out sequentially with no wait states.  Well, you might need some wait states to set it up and a few to move to the next block, but within the block it will transfer at the full rate.  Generally your CPU will read or write a whole cache line at once anyway, not just a couple of words.  This is a tradeoff between sequential access and completely random access, but it usually works well because a good portion of memory reads and writes are sequential.