Writing data within user or operating system memory often encounters the classic read-before-write problem whereby the page written to must first be read from the backing store, effectively blocking the writing process before modifications are made. Unfortunately, the large gap between memory and storage access performance adverselyaffectsworkloadsthatrequiresubstantialreadbefore-write operationswhen accessing memory. In this paper,wepresenttechniquesthatmakewritestomemory trulynon-blocking. Thebasicapproachinvolvesabsorbing writes immediately in temporary buffer pages and asynchronouslymergingthe updatesafter reading in the on-disk version of the page. Doing so improves system performancebyfirst,reducingblockingofprocessesand second, improvingthe parallelism of data retrieval from the backing store leading to better throughput for readbefore-write operations. We analyze the potential benefits of our approach using full-system memory access tracesforseveralbenchmarkworkloadsandpresenttechniquesthat commodityoperatingsystems can employto implementnon-blockingwrites.