1. A system for data eye training comprising: a memory device having a data input and a data strobe input; and a training control interface having a data generation and comparison logic, a PHY write data eye training state machine to adjust a data timing for a data write pattern; a PHY write leveling training state machine to adjust a data strobe timing for a write command; a DQS generation logic to generate a data strobe; flip-flops to hold the data write pattern and the data strobe; variable delay lines for applying the data timing and the data strobe timing on the flip-flops; and transmitters for driving the data write pattern and the data strobe to the memory device, wherein the training control interface is coupled to the data input and the data strobe input for writing data to and reading data from the memory device, wherein the PHY write data eye training state machine and the PHY write leveling training are operable by the data generation and comparison logic for determining a largest rectangular area within a data eye, wherein the training control interface is operable to set a reference voltage and a data strobe timing to the middle of the largest rectangle area within the data eye, wherein the data generation and comparison logic has state machine outputs to indicate a status and a pass/fail determination, a data pattern output, and a write enable output, wherein the state machine outputs are coupled to inputs of the PHY write data eye training state machine and the PHY write leveling training state machine, wherein the data pattern output is coupled to a first one of the flip-flops to be driven as the data write pattern, and wherein the write enable output is coupled to the DQS generation logic.