Alot of times when this happens it is caused by water penetrating the concrete and freezing then thawing. As you know, water expands when it freezes. Therefore, as the water penetrates your concrete it is freezing and expanding poping the "finish" (top layer) off. The patio was probably not troweled properly or frequently enough to seal the top ,so to speak. Sadly, the only way to fix this problem is to either tear it out and have it re-placed or have it resurfaced with a polymer based cement mix. I hope this info helps. Good luck!