1. A method for updating a program for driving a memory card, the method comprising: receiving a first command from a host interface for changing a mode of the memory card to an update mode; resetting a central processing unit (CPU) of the memory card in response to the first command; transferring an update application program received from the host interface to a selection circuit of the memory card via a bus, wherein the selection circuit is coupled to the bus, a volatile memory, and a host data buffer, the selection circuit is configured to route one of the update application program from a host interface of the memory card to the volatile memory or host data from the host interface to the host data buffer in response to a selection signal, and wherein the selection circuit is arranged to prevent direct access by the host interface to the volatile memory and the host data buffer; outputting the selection signal to the selection circuit to route the update application program to a volatile memory of the memory card; executing the update application program stored in the volatile memory by the CPU; receiving an update program from the host interface; storing the update program in a nonvolatile memory of the memory card; and applying, by the host interface, a same reset signal to both the CPU and the host data buffer to reset each when the update application is transferred to the volatile memory.