  In this work, we propose a novel coding scheme which based on the
characteristics of NAND flash cells, generates codewords that reduce the energy
consumption and improve the reliability of solid-state drives. This novel
coding scheme, namely Inverted Limited Weight Coding (ILWC), favors a greater
number of '1's appearing in its generated codewords at the cost of added
information redundancy, as a form of flag bits. This increase in the number of
bits valued as logical '1', in the generated codewords, will increase the
number of cells that have lower threshold voltages. Through cells with lower
threshold voltages, ILWC fruitfully reduces the SSD's program operation energy
consumption. Moreover, it increases the SSD's data retention rate and
reliability by decreasing the threshold voltage of the cells. The evaluation of
our proposed coding method on three different SSDs, indicates more than 20%
reduction in the SSD's program operation energy consumption. In addition, ILWC
improves the cells' data retention rate by decreasing their intrinsic electric
field by more than 18%. Moreover, the SSD's cell-to-cell coupling noise is
diminished with the help of 35% reduction in the worst-case threshold voltage
shift in a cell's adjacent cells. All this leads to 5.3% reduction in the MLC's
cell error rate. In addition, ILWC achieves 37.5% improvement in the
performance of the SSD program operation.
