Staircase-down SET programming approach for phase-change memories