1. A memory system, comprising: a NAND flash memory array comprising a plurality of data blocks that each includes a plurality of pages; a controller configured to: receive a program request to write data into a first block of the data blocks; evaluate the program request and a plurality of previously queued program requests to determine if a threshold corresponding to the first block is satisfied, wherein each of the plurality of previously queued program requests writes data to the first block; and execute the program request and the plurality of queued program requests only upon determining the threshold is satisfied.