1. A method for operating a non-volatile memory storage system, comprising: receiving a write command to write a plurality of data, the write command being allocated a timeout period to complete an execution of the write command; performing a portion of a garbage collection operation within the timeout period; and storing the plurality of data in a buffer associated with the non-volatile memory storage system.