Wouldn't it be better to use a timer register in capture mode to get the value of the timer when the echo pulse goes up/down? It seems faster than using GPIO interrupts. I tried it here with the HC-SR04 and it works wonderfully, even when the object is at about 1cm from the sensor.