| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0608 (2013.01); G06F 3/0679 (2013.01); G06F 12/0246 (2013.01); G06F 2212/7207 (2013.01)] | 20 Claims |

|
1. A method performed by a controller, the method comprising:
storing user data in a first memory; and
when the user data is to be programmed to a second memory and a size of the user data is smaller than a unit program size:
selecting one or more meta data from among a plurality of meta data by comparing respective sizes of the one or more meta data with a difference between the unit program size and the size of the user data and according to respective priorities of the plurality of meta data,
producing final data by concatenating the user data and the one or more meta data, and
programming the final data in the second memory,
wherein selecting the one or more meta data includes selecting a portion of a first meta data among the plurality of meta data when a size of a second meta data of the plurality of meta data is less than a size of the first meta data and a priority of the first meta data is greater than a priority of the second meta data.
|