Third seed Emma Navarro overcame Daria Saville to reach the San Diego Open semi-finals for the second year in a row.