Patent ID: 9640264
Date: 2017-05-02
CPC Classifications: G06F,G11C

Claim:
1. A method of operating a memory system, comprising: receiving first data from an external device, the first data having a logical address; storing the first data received from the external device in a buffer memory of the memory system; starting a programming of the first data stored in the buffer memory to a second storage area of a nonvolatile memory of the memory system; receiving a flush command from the external device; in response to receiving the flush command from the external device, starting a programming of the first data stored in the buffer memory to a first storage area of the nonvolatile memory; determining if the programming of the first data stored in the buffer memory to the first storage area of the nonvolatile memory is completed prior to the programming of the first data stored in the buffer memory to the second storage area; and in response to the determining that the programming of the first data stored in the buffer memory to the first storage area of the nonvolatile memory is not completed prior to the programming of the first data stored in the buffer memory to the second storage area, (a) updating a mapping table to associate the logical address of the first data with a physical address of the second storage area and (b) not updating the mapping table in response to the programming of the first data stored in the buffer memory to the first storage area, and in response to the determining that the programming of the first data stored in the buffer memory to the first storage area of the nonvolatile memory is completed prior to the programming of the first data stored in the buffer memory to the second storage area, (a) updating a mapping table to associate the logical address of the first data with a physical address of the first storage area in response to the programming of the first data stored in the buffer memory to the first storage area and (b) updating the mapping table to associate the logical address of the first data with a physical address of the second storage area in response to the programming of the first data stored in the buffer memory to the second storage area.