1. A method for durably storing data blocks maintained in a volatile cache on a solid state device, comprising: instantiating a plurality of threads that are each configured to perform work according to one of a plurality of stages, wherein the plurality of stages include: a first stage in which a thread identifies, in the volatile cache of a server that issues write requests to an object store maintained on one or more solid state devices, a first set of data blocks to write to a double-write buffer cache in non-volatile dynamic random access memory (DRAM), a second stage in which a thread writes a second set of data blocks from the volatile cache to the double-write buffer, a third stage in which a thread writes data from the double-write buffer to the one or more solid state devices, and wherein the plurality of threads include at least two threads that are both operating in different stages of the plurality of stages.