Flash memories have become by far the most widely used type of electronic non-volatile memories. To fundamentally push the performance of flash memories toward their limit, a new coding theory for data storage is needed. The main challenges facing flash memories include low efficiency in writing, data reliability and limited memory longevity. This research studies novel information theoretic approaches to substantially increase the writing speed, power efficiency, reliability and longevity of flash memories. The new storage schemes can be used by numerous mobile devices, embedded systems and mass storage systems.
This research explores new coding theories for data storage in flash memories. A new family of codes called floating codes, which jointly encode data and minimize block erasure operations, are developed to improve the speed, power efficiency and longevity of flash memories. Error-correcting codes and interleaving schemes are designed to correct characteristic errors in flash memories. The coding schemes are further extended to the usage of continuous cell levels for optimal performance. New storage schemes and algorithms are studied for data storage applications in flash disks, databases and sensor networks, three highly representative and important applications of flash memories respectively at the device, system and network level. In those applications, codes are designed to support page-based writing, data aggregation and in-network distributed storage.
In this project, new coding theories have been developed for reliable and efficient data storage in flash memories. A number of new coding schemes have been designed that can make flash memories store data more reliably, write data faster, have longer lifetimes and consume less power. It has helped establish a new and important research area for both the academia and the industry, namely coding for flash memoires. The new concepts and methods proposed in the project are now widely studied, with the potential to significantly improve the performance of next-generation flash memories. Intellectual Merit: This project has studied the unqiue properties of flash memories -- including asymmetric in cell programming, block erasure, nonuniform error distributions, etc. -- and used them to develop new and optimized coding schemes. It has proposed and studied the idea of using rewriting codes to enable flash memories write data fast without having to erase whole blocks of cells first; and a series of new code constructions have been presented to approach the maximum storage capacity. It has proposed and studied the idea of using relative cell levels to represent data, which enables flash memories to program cells more robustly. It has presented a new approach to efficiently integrate rewriting with error correction, to make efficient data modification and reliable data storage achievable at the same time for flash memories. The coding schemes enable flash memories to approach their performance limit. Broader Impacts: Flash memories are very widely used in storage and computing systems. The outcomes of the project can be applied to ubiquitous applications in the society, improving the speed and reliability of numerous products (such as laptops, servers, smart phones, sensors. etc.) based on flash memories. The results have been disseminated widely to both the academia and the industry, and have helped create a new research area (coding for flash memoires) that is important and still fast developing. Numerous graduate and undergraduate students, including underrepresented groups, have been trained via the project, which prepared them for cutting-edge study for the new generation of storage and computing technologies.