Non-volatile data storage devices, particularly those based upon NAND flash memory, are revolutionizing the way we access and manipulate information. Flash memory is now the storage medium of choice in portable consumer electronic applications, and high performance solid-state drives (SSDs) are also being introduced into mobile computing, enterprise storage, data warehousing, and data-intensive computing systems. Furthermore, more non-volatile memories are developed today such as phase-change memories, memristors, STT-RAM, MRAM, and more. The high interest and many applications of such memories increase the importance of this research and lead to a wide range of stimulating problems.

The rapid increase in the capacity of non-volatile and flash memories makes them attractive in many applications. However, the capacity increase of these technologies presents major challenges in the areas of device reliability, endurance, and energy efficiency. These challenges as well as other similar ones can be overcome, in part, through innovative coding and data handling techniques, which is the subject of our laboratory. In particular, we design algorithms based upon tools and ideas from information and coding theory techniques in order to improve the performance, capacity, and lifetime of these different non-volatile memories. For example, this includes in the low level rewriting schemes, error-correcting codes, constrained codes, and cell programming algorithms. In the high level, some of the interesting problems are aimed towards wear leveling and data management algorithms, as well as problems which arise from RAID architectures based upon SSDs instead HDDs.

Our vision is to establish a solid understanding of future emerging non-volatile technologies. This understanding will pave the ground to establish advanced algorithms and coding techniques, which are targeted to combat the relevant practical problems in these memories and data storage. The goal of the laboratory is support our studies by founding an experimental systems that will enable to conduct a comprehensive understanding of different types of non-volatile memories from all aspects of physics, architecture, system, and coding.