I would still try a different cable and/or port to make sure.
Otherwise, the controller card on the HDD itself could be going bad, or another problem with the HDD.
If the data is that important, it'd be a minimum of around $500 to send it into a data retrieval company to get your data back.