A non-volatile memory storage system is provided. The non-volatile memory
storage system includes a memory configured to store a storage system
firmware and a non-volatile memory cell array configured to maintain a
buffer. A processor in communication with the memory and the non-volatile
memory cell array also is included in the non-volatile memory storage
system. Here, the processor is configured to execute the storage system
firmware stored in the memory. The storage system firmware comprises
program instructions for receiving a write command to write data to the
non-volatile memory cell array. The write command is allocated a timeout
period to complete an execution of the write command. The storage system
firmware also comprises program instructions for performing a portion of
a garbage collection operation within the timeout period and for storing
the data in the buffer.