MacBook Pro HDD corrupted files and bad blocks? Find command running for 4 days; Disk Utility reports no errors Computer:


Late 2011 MacBook Pro 13"
Factory 500 GB serial ATA (5400 RPM) HDD


Problem:

A few days ago my computer started running extremely slow — could barely perform the most basic functions like typing. 

What I've done:

I ran an Apple hardware test (both the long and short one), but eventually it always froze (and allegedly continued running for hours) at a certain time — but did not say what exactly it was testing.

I also tried to repair the disk and permissions in Disk Utility via recovery mode, but it found no disk issues (fixed numerous permissions issues though).

None of the above helped to resolve.

Therefore, I tried to copy some of the important folders I was working with (because Time Machine stopped working a few weeks ago) and it wouldn´t let me copy some video files, returning errors.

After reading StackExchange, I ran this SMART Utility and it turns out I have just over 100 bad blocks in my HDD, with 40 000 files corrupted. 

Easy question:

I am assuming this means that my HDD is dead and I should get a new one?

Follow-up questions:

I followed the advice on another question, to enter this into Terminal:

find / -type f -print -exec dd if={} of=/dev/null bs=1m \;


It has been running for 4 days straight without freezing — but the post above said it should freeze when it hits a bad block. It seems it's been going through all the files in my computer and allocating new space to the bad blocks.

How long should I wait for this to finish? 

Is good for this to be running so long? Should I let it finish, or should I not waste time and start setting up a new HDD?
In response to your first and easy question, yes, your HDD is dying and needs to be replaced ASAP.  Now is a good opportunity to change it to an SSD.  Here is a good video on YouTube that shows you how.

I am not sure why you would use dd to fix bad blocks/sectors when DiskUtility has a more robust solution.

Boot into recovery mode by holding Command-R (or off a CD or USB Key)
Go into DiskUtility and under the First Aid tab, click "Verify Disk"
You should get a bunch of errors reported
Click "Fix Disk"

Now, you aren't fixing the disk per se.  You are marking the bad sectors as unusable so data doesn't get written there.  

Once you do this...
Back up your files to another drive ASAP