1. A MultiMedia (MMC) card comprising: a flash memory for storing data related to a program command; a static random access memory (SRAM) configured to store flag values associated with an execution of the program command; an interface device configured to receive the program command, a first command and an interrupt command from a host device; and a controller configured to perform an execution of the program command in the flash memory, to halt the execution of the program command upon receiving the interrupt command, to store the flag values related to the execution of the program command at a predetermined memory location in the SRAM, to perform an execution of a first command in the flash memory upon receiving the first command, and to perform an execution of remaining portion of the program command upon again receiving the program command from the host device after completing the execution of the first command, wherein the first command has a higher priority that was determined by the host device than the program command.