1. A method for adaptively migrating data in solid state memory, the method comprising: making a first determination that a write limit of a first memory region of the solid state memory has been reached, wherein the first memory region comprises a first memory location and wherein the first memory location comprises a first data fragment, and based on the first determination: allocating a second memory region of the solid state memory; writing a pre-migration marker to a second memory location of the second memory region; after writing the pre-migration marker to the second memory location: receiving, from a client, a first read request comprising a first logical address; identifying the second memory location in the second memory region, based on the first logical address and a current map; reading a second data fragment from the second memory location; making a second determination that the first data fragment has not been migrated to the second memory location based on the second data fragment comprising the pre-migration marker, and based on the second determination: identifying the first location in the first memory region based on the first logical address and a previous map; obtaining the first data fragment from the first memory location; writing the first data fragment to the second memory location; and providing the first data fragment to the client.