1. A data storage device, comprising: a plurality of Multi-Level Cell (MLC) non-volatile memory devices comprising a plurality of lower pages and a corresponding plurality of higher-order pages; a controller coupled to the plurality of MLC non-volatile memory devices and configured to write data to and read data from the plurality of lower pages and the corresponding plurality of higher-order pages; and a buffer comprising non-volatile memory, the buffer being separate from the plurality of MLC non-volatile memory devices and coupled to the controller; wherein the controller is configured to: accumulate data to be written to the MLC non-volatile memory devices; allocate space in the buffer and write the accumulated data to the allocated space in the buffer; write at least a portion of the accumulated data in a lower page of the MLC non-volatile memory devices; detect a loss of power; read data from the buffer and write at least a portion of the read data to the MLC non-volatile memory devices after power is restored to the data storage device subsequent to detecting the loss of power; and de-allocate space in the buffer that stores data written to the lower page when all higher-order pages corresponding to the lower page have been written in the MLC non-volatile memory devices.