1. A method, comprising: suspending, by a controller of a non-volatile memory device, a current write command, in response to determining that a read command is waiting for execution; splitting the current write command into a plurality of chunks based on a computed criteria; and executing a read command in between execution of at least two chunks of the current write command, wherein resumption of the current write command is also based on the computed criteria, and wherein the computed criteria is based on a write budget that is a difference of a time remaining before starting execution of a next write command and a time left for completing the current write command, and based on a number of suspends to be performed per write command, and also based on a performance degradation tolerable in the non-volatile memory device to increase a latency of the read command that is waiting for execution.