We have a SRAM (8bit by 512k chip, 19bit address) connected to a XMOS micro-controller using a ribbon cable soldered on both sides. The xmos micro controller is a startKit and the sram chip is a Allience memory chip we bought off mouser (part number 913-AS7C34096A-8TIN). The SRAM chip is on a custom pcb board with breakouts for the pins. I have a test routine that writes to every address and then reads back checking that the values return what was written. There are three tests, one that writes the last 8 bytes of the address, one that writes all ones and one that rights all zeroes. The errors appear to be random (meaning the bad data doesn't have a pattern). However the addresses where the errors occur is not. There are no errors ever when 5 specific pins are high on one of the boards, 4 on another, and 6 on the last two. Each time the test is run a different number of errors occur but they range from 100-400 errors over the scope of the whole address range.
What might cause this?