Methods, apparatus and computer readable medium for writing data into a
flash memory device are disclosed. In some embodiments, the data is
written in a writing mode selected in accordance with an extent to which
the flash memory storage device or a flash die thereof is full of
previously-stored data. The presently disclosed techniques may be
implemented on the "device-side" (for example, by a device controller of
the flash device) and/or on the "host-side." In some embodiments, the
selected writing mode is a bits-per-cell density mode. In some
embodiments, the selected writing mode is a "slower" or "faster" writing
mode. The presently disclosed techniques relate to SBC as well as MBC
devices.