1. A method for testing and repairing memory modules comprising: pre-screening memory chips using limited test patterns that test individual memory chips before the memory chips are soldered to a substrate, wherein memory chips passing the limited test patterns are sorted as pre-screened memory chips; wherein the limited test patterns allow at least some single-bit errors in the memory chips to go undetected by pre-screening, wherein the pre-screened memory chips comprise at least some defective memory chips having single-bit errors undetected by the limited test patterns; soldering pre-screened memory chips to memory module substrates; soldering repairing Advanced Memory Buffers (AMB) to the memory module substrates to generate assembled memory modules; wherein the repairing AMB comprises a repair controller and a repair address buffer; testing the assembled memory modules by sending packets with commands over serial lines to the repairing AMB and receiving packets with data read from the pre-screened memory chips soldered to the memory module substrates or a status of multiple reads of data from the pre-screened memory chips soldered to the memory module substrates; the repairing AMB decoding the packets received over the serial lines and writing and reading data to and from the pre-screened memory chips soldered to the memory module substrates in response to the commands in the packets; sorting assembled memory modules that pass testing as good memory modules; sorting assembled memory modules that fail testing as failed memory modules; locating failed memory locations in the failed memory modules; writing repair addresses of the failed memory locations to the repair address buffer in the repairing AMB; and re-testing the failed memory modules at the failed memory locations, the repair controller re-directing data accesses from a failed memory chip to a spare repair memory for the failed memory locations in the repair address buffer; whereby failed memory modules are repaired by the spare repair memory for the failed memory locations written into the repair address buffer.