Method and device for programming control information, such as a flag, a control flag, a mark, or a control mark. The method and device may perform a lower-speed programming of a given cell type in a first area of memory array, confirm a result of the lower-speed programming of the given cell type in the first area of memory array, and perform a higher-speed programming of the given cell type in a second area of memory array after confirming the result of the lower-speed programming, wherein an initial programming voltage of the higher-speed programming may be different from that of the lower-speed programming. The first and second programming may be different, for example, the first programming may be a lower-speed operation, such as the writing of data, and the second programming may be a higher-speed operation, such as the writing of control information. The first and second programming methods may also be different, for example, the first programming method may be a programming method that does not permit over-programming and the second programming method may be a programming method that does permit over-programming.