I'm not very computer knowledgeable, but I was having a similar problem with USB devices occasionally malfunctioning by receiving power but not working: e.g. mouse and/or keyboard lighting up but suddenly not functioning, when plugged into a particular USB port. The only workaround solution I found that worked, other than turning the computer off and on again, was to change my laptop's power setting to "hibernate" rather than "sleep" when I pressed the laptop's power button, and then going into and back out of Hibernation mode.
To change the setting in Windows 7:
Click on the "Windows" button [bottom left of screen] >
"Control Panel" [right-side panel] >
Hardware and Sound >
"System and Security" [left-side panel] >
"Power Options" >
"Choose what the power buttons do" [left-side panel] >
"When I press the power button:" [change to "Hibernate" - either "On battery", "Plugged in", or both, depending on preferences - my personal setting is "Sleep" on battery and "Hibernate" when plugged in]
Click the "Save changes" button
Next time you have the problem you can then press the power button on your laptop (if plugged in or on battery, depending on settings) and enter Hybernation mode. Be sure to stay in hibernation mode for long enough that the devices power off (lights on keyboard/mouse turn off, etc.) When you wake up the laptop again the USB ports may be functioning properly again.
I have not tried this method by choosing to simply enter "Sleep" mode rather than "Hibernate" mode when pressing the power button, but when I've left the laptop inactive for many hours it makes no difference to the problem.
Obviously, this method might only work for a laptop rather than a desktop PC, and if you're having the same problem re-occur every few minutes then it would not be very practical, but for anyone having this happen only occasionally then this might be a viable workaround. I think that it's a good idea to save your work if possible before hibernating the computer.