1. A method of managing a flash memory, comprising the steps of: (a) reserving at least one cell of the flash memory to use as a flag cell to represent a value of a number N of bits of data to store in each of a plurality of other cells of a block of the flash memory; (b) selecting a value of N from among at least three candidate values of N; and (c) programming said at least one flag cell to represent said selected value of N.