1. A method of operating a flash memory device, the method comprising: providing a flash memory device having a memory cell array and a flag cell array corresponding to memory cells of the memory cell array; receiving a program command, program data and a data type of the program data being associated with the program command, the data type comprising a first data type and file allocation data; determining whether the data type is the first data type or file allocation data; if the program data is file allocation data, inverting the program data, and programming the inverted program data into the memory cell array; and programming a cell of the flag cell array to record the data type of the program data when at least one of the data type is the first data type or file allocation data.