1. A method for storing data in persistent hybrid memory, comprising: promoting a memory block from non-volatile memory to a cache based on usage of said memory block according to a promotion policy; tracking modifications to said memory block while in said cache; and writing said memory block back into said non-volatile memory after said memory block is modified in said cache according to a write back policy that keeps a number of said memory blocks that are modified at or below a number threshold while maintaining said memory block in said cache.