1. A method of improving memory training results corresponding to a plurality of memory modules, the method comprising: detecting, by a training controller, a hardware configuration change upon initiating a boot sequence of a system that includes the plurality of memory modules; generating for a plurality of training iterations, by the training controller, reference training values corresponding to aligning of a data strobe (DQS) signal with a data valid window of data (DQ) lines of the plurality of memory modules; identifying for each training iteration, by the training controller, any outer values within the reference training values generated for that training iteration; eliminating, by the training controller, the identified outer values from the reference training values; generating, by the training controller, a final reference training value based on an average of the remaining reference training values; and using, by the training controller, the final reference training value as the DQ-DQS timing value for the boot sequence of the system.