1. A system comprising: a built-in self-test (BIST) controller that stores a set of commands defining an algorithm for testing a memory module; a sequencer that receives the commands and issues one or more memory operations in accordance with the commands; and a memory interface that applies the memory operations to the memory module in accordance with physical characteristics of the memory module.