The cell (i.e., the storage unit) in flash memory is a floating-gate MOSFET where data is stored in the form of trapped charge into its floating gate. The flash memory die is organized into blocks where each block consists of multiple wordlines that can be individually programmed. Each wordline consists of tens of thousands of cells and is organised into log <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sub> (q) pages where q is the number of threshold voltage levels a cell has. The pages are separately encoded to enable reading them individually. A key parameter of flash memory is its random read speed where small chunks of data are read from random addresses. The disparity in random read speed across pages can be minimized by using a balanced Gray labelling (BGL) to map the binary data into threshold voltages which allows reading different pages with almost the same number of sensing operations. We provide new BGL instances whereby multi-cell modulation (MCM) is used to map binary data into threshold voltages of multiple cells. The proposed modulations are found through computer search routines and are shown to improve the flash memory reliability via numerical simulations.
Read full abstract