Andy Murray beat David Ferrer 7-6 (7-4) 6-2 5-7 6-1 to reach the semi-finals of the French Open for the third time and Novak Djokovic defeated Rafael Nadal.