Skip to main content
eScholarship
Open Access Publications from the University of California

UC San Diego

UC San Diego Electronic Theses and Dissertations bannerUC San Diego

Constrained Codes and Signal Processing for Non-Volatile Memories

Abstract

Non-volatile memories (NVMs) have attracted considerable attention as data storage media because of their fast read /write speed, high data throughput, large capacity, and low power consumption. They are widely used in mobile, embedded, and mass-storage applications. The research goal of this dissertation is to model NVM systems in a mathematical manner and to design constrained codes and signal processing techniques that improve the performance of NVM systems. Our main contribution of this research dissertation is the invention of constrained codes for different NVM systems. For the most widely-used flash memory systems, we manage to use inter-cell interference (ICI) free codes to mitigate the coupling effect of adjacent cells during write operations, to use balanced codes to tolerate charge leakage effects during read operations, and to use write-once memory (WOM) codes to enlarge the lifetime capacity of devices for several practical scenarios. On the other hand, we also manage to use time-space constrained codes to eliminate cross-talk and to reduce heat accumulation for phase-change memories (PCMs), which is one of the emerging technologies that could potentially replace flash memories as the building block for the next generation of NVM systems. We derive the capacity (or bounds on the capacity) for each constraint and provide explicit code constructions with low encoding and decoding complexities. Furthermore, the optimization of programming flash memory systems is studied by signal processing tools. Flash memories use the amount of charge trapped in cells to represent the data and the cells can have multiple levels . One of the most prominent features of programming flash memory cells is the asymmetry in programming and erasing, namely, the cell levels can only be increased during programming and cell erasure must be done at the block level. In order to achieve high programming speed and precision, we solve optimization problems that either minimize the programming time or the number of programming errors, subject to the constraint of unidirectional incrementing of cell levels

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View