1. An apparatus, comprising: a first queue for storing at least one memory operation adapted to be executed out-of-order with respect to other memory operations; a second queue for storing information indicating a program order of said at least one memory operation, wherein the second queue is configured to be searched to determine if said at least one memory operation completed out of order with respect to at least one of the other memory operations; and at least one additional queue for storing said at least one memory operation in response to completion of said at least one memory operation, wherein the apparatus is configured to remove said at least one memory operation from the first queue in response to said completion.