CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/064 (2013.01); G06F 3/0656 (2013.01); G06F 3/068 (2013.01); G06F 11/1004 (2013.01); G06F 12/10 (2013.01); G06F 2212/657 (2013.01)] | 19 Claims |
1. A storage device comprising:
a non-volatile memory device including a write buffer configured to store write data provided from a host and a journal buffer configured to store a journal log, the journal log being data representing update information indicating mapping information of a physical address and a logical address provided from the host and includes a first journal log representing first mapping information of a first logical address and a first physical address, and a second journal log which represents second mapping information of the first logical address and a second physical address and is stored later than the first journal;
a volatile memory device configured to temporarily store metadata; and
a memory controller configured to
store the write data into the write buffer,
provide the non-volatile memory device with the journal log and the physical address corresponding to the journal buffer to store the journal log, and a journaling command which issues a command to store the journal log in the journal buffer, in response to storing the write data into the write buffer,
update the metadata temporarily stored in the volatile memory device on the basis of the journal log,
control the volatile memory device to store updated metadata, as first metadata, to the volatile memory device, and
generate second metadata,
wherein generating the second metadata comprises
generating first map data representing the first mapping information on the basis of the first journal log; and
after the first map data is generated, converting the first map data into second map data representing the second mapping information on the basis of the second journal log.
|