I have never used but this program but I know people who have and swear by it.

https://www.grc.com/sr/spinrite.htm

If and when you recover your data you should consider looking into how to make regular backups. It would have been cheaper for you to have good backups then it is going to be trying to recover your data.