This often happens to me - you might want to consider allergic triggers, such as the laundry detergent or fabric softener you use on your sheets (try a perfume free one of both), or other triggers such as smoke because you made a fire in the fireplace the night before. I have found both of these will cause a migraine the next morning, regardless of the quality of the sleep. Also, getting too hot while sleeping is another potential cause.
Good luck!
Lori
It it possible that low or poor oxygen in your bedroom is a trigger? Maybe you have a "turtle syndrome" from being under the covers during sleep.