Coding Scheme for Optimizing Random I/O Performance
  Flash memories intended for SSD and mobile applications need to provide high random I/O performance. This requires using efficient schemes for reading small chunks of data (e.g. 0.5KB - 4KB) from random addresses. Furthermore, in order to be cost efficient, it is desirable to use high density Multi-Level Cell (MLC) memories, such as the ones based on 3 or 4 bit per cell technologies. Unfortunately, these two requirements are contradicting, as reading an MLC memory, whose data is coded conventionally, requires multiple sensing operations, resulting in slow reading and degraded random I/O performance. This paper describes a novel coding scheme that optimizes random read throughput, by allowing reading small data chunks from an MLC memory using a single sensing operation. 
Eran Sharon, Idan Alrod
cs.IT math.IT