If I am not mistaken, your AMDs max core temp is 65C - You never want to reach even close to that. From what I gather, your temps are just fine, you don't need extra cooling. Keep it below 50C for your CPU - your 40C is just great......Unless you are overclocking, you can manage quite well with the stock fan.
As to HDD, again 39C is very good - I assume this is idle temp. HDDs can get VERY hot - always keep as much open space as possible and proper case ventilation. Eventhough operating temps are stated to be 50-55C, always keep the temps below 50C - it is NOT a good idea to run a HDD at that temp permanently.
I recommend EVEREST, if you search the net you can still manage to locate the FREE version - They use to make a free HOME version now if I am not mistaken they discontinued support for it - you might still be able to download an older version....... It has an excellent sensor monitoring section and HDD health monitoring tool as well.