Very roughly - if the innovation to be patented (ie the software) is used to improve the operation of the hardware then it is patentable. So buffering code in a HDD chip is presumably patentable (-ed). However if its a new way to display email - probably not. Not a clear win, and apparently similar to UK case law.
(Cribbing off FOSSPatents links)