This servo (M1300) receives a digital pulse to control the position. The pulse length (between 1ms and 2ms) defines the desired position. The internal circuitry uses feedback (likely a potentiometer in this servo) to automatically control the position based on the supplied pulse. So all you have to do is send a pulse train of the appropriate pulse length and servo will move to the desired position. The good news is that the pulse range (1ms to 2ms) is pretty common for 90 degree sweep servos, so it should be possible to replace the servo with another (hopefully more reliable) model. There are several possible failure modes that could be happening. Often in cheap servos, the potentiometer goes bad and provide faulty feedback, which causes the servo to drive all the way one way or another and eventually burn of the motor or drive circuitry. Sometimes, the drive circuitry just goes bad all on its own. If you produce a pulse outside of the specified range (1m to 2ms) it will drive the motor to the range limits and potentially burn it up as well.
Note: "Servos" and "Servo motors" are two slightly different terminologies. "Servo motors" are any motors that incorporate feedback to control position, speed, acceleration. "Servos" is typically used to refer to cheap consumer grade servo motors that are typically used in RC and robotic hobby projects.
Edit: It looks like this model can actually rotate 180 degrees (~.8ms to ~2.2ms), which is still pretty common range and pulse length. Not sure how much rotation is used in this application though.