
NSF Org: |
CCF Division of Computing and Communication Foundations |
Recipient: |
|
Initial Amendment Date: | August 30, 2017 |
Latest Amendment Date: | August 30, 2017 |
Award Number: | 1717602 |
Award Instrument: | Standard Grant |
Program Manager: |
Phillip Regalia
pregalia@nsf.gov (703)292-2981 CCF Division of Computing and Communication Foundations CSE Directorate for Computer and Information Science and Engineering |
Start Date: | September 1, 2017 |
End Date: | August 31, 2020 (Estimated) |
Total Intended Award Amount: | $470,000.00 |
Total Awarded Amount to Date: | $470,000.00 |
Funds Obligated to Date: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
2200 W MAIN ST DURHAM NC US 27705-4640 (919)684-3030 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
140 Science Drive, 317 Gross Hal Durham NC US 27708-0271 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Comm & Information Foundations |
Primary Program Source: |
|
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
Part 1:
Researchers continue to develope new memory and storage technologies for computer systems, including improvements to Flash memory in solid-state drives, as well as novel technologies that have not yet reached the market. These technologies offer new features---including greater storage density, or the ability to retain their data even without power---yet they also introduce new challenges, such as reduced lifetimes or the possibility that writing data into one part of the memory could disrupt values in other parts. Historically, imperfections in memory technologies have been overcome by encoding the information such that disrupted or lost data can be recovered. However, existing techniques do not suffice for the newly emerging memory technologies that have different imperfections and divergent usage models.
This project is a collaboration between researchers in information theory (who study how to encode information for different purposes) and researchers in computer architecture (who study how to design computer systems, including memory and storage). The architects will identify exciting technologies and the problems they introduce, and the information theorists will develop new ways of encoding information to overcome these challenges. Whereas much research in coding is theoretical and lacks connection to the reality of computer systems, the collaboration with computer architects---who focus on implementation issues and costs---will ground the coding work and enhance its impact.
To foster more interdisciplinary work in this research area, the research team will present half-day tutorials at conferences, including a coding tutorial at an architecture conference, and an architecture tutorial at an information theory conference. The investigators will continue to work with undergraduate research assistants, including students from an established summer outreach program at Duke?s Pratt School of Engineering. The investigators will also continue to recruit female research assistants alongside research assistants from under-represented populations; both investigators have extensive track records in this area and are committed to cultivating diversity in the computing research community.
Part 2:
The proposed research program seeks to improve the lifetime and fault tolerance of existing and emerging storage technologies---specifically Flash, 3D DRAM, and racetrack memory---by developing practical coding techniques that can be implemented in real-world systems. These storage technologies feature increased storage density, yet suffer the particular challenge of limited lifetime, that might otherwise limit their potential in microarchitectures.
Historically, improvements in memory and storage have been due not only to advances in the memory technologies themselves, but also to innovations by computer architects who design memory and storage systems and by coding theorists who devise codes for data storage. The proposed research program is a collaboration between a coding theory group led by PI Calderbank and a computer architecture group led by co-PI Sorin. In their preliminary work, architecture problems have driven development of new theory, and advances in coding theory have driven development of new systems that can take advantage of them.
The research thrusts can be classified by the memory technology, and all include specific challenges as well as more open-ended research directions: Specific objectives include
1. Development of new coding solutions for racetrack memory that employ delimiter bits to identify single shift errors and practically implementable codes to correct the error, once identified. Introduction of coding across multiple racetracks (spatial diversity) to correct multiple shift errors.
2. Development of virtual multilevel Flash cells that connect computer architecture with coding theoretic innovations, and evaluation of the tradeoff between host-visible capacity and lifetime.
3. Development of new coding solutions that protect stacked DRAM designs from failures in bits, rows, banks, channels, dies and through silicon vias. Development of fundamental limits on how redundancy trades off against read/write latency, bandwidth requirements, and energy consumption in stacked designs.
PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH
Note:
When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external
site maintained by the publisher. Some full text articles may not yet be available without a
charge during the embargo (administrative interval).
Some links on this page may take you to non-federal websites. Their policies may differ from
this site.
PROJECT OUTCOMES REPORT
Disclaimer
This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.
Motivated by applications to magnetic recording and Flash memories, we have developed new lexicographically ordered constrained codes (LOCO codes) that combine capacity-achieving rates with simple, reconfigurable encoding and decoding. Particular families of LOCO codes forbid specific patterns in order to reduce inter-symbol interference in magnetic recording systems, and inter-cell interference in emerging Flash systems. We have analyzed how the asymptotic performance of graph-based codes changes when we use LOCO codes just to protect parity bits. We have evaluated the performance of this method of combining error correcting and LOCO codes on industry models for magnetic recording and Flash. We demonstrated significant density gains in magnetic recording systems by using a constrained code to protect only the parity bits of an LDPC code.
Prior work in the computer architecture community has assumed that all data is digital and has overlooked the opportunities available when working with analog data, such as the data recorded by sensors. By introducing redundancy into the quantization of sensor data, we provide several alternative representations, and by using distortion (the difference between the sensed analog value and the digital quantization of that value) to inform the choice, we were able to improve lifetime of embedded processors, where access might be rare and repair impossible.
For Racetrack memory, which is a very exciting new technology, we need to tolerate shift errors, which are not present in other technologies used by computer architects. We developed new codes based on Varshamov-Tenegolts (VT) codes that have fast hardware implementations. We also combined per-track coding for shift errors with a novel across-track coding for bit flips. This was the first coding scheme that addressed both shift errors and bit flip errors.
We have published 4 journal papers and 9 juried conference papers, one of which was a finalist for the Best Paper Award at DSN 2019. We highlight the following contributions to workforce development.
After graduating from Duke with a PhD in Electrical and Computer Engineering, Dr. George Mappouros joined Intel. Co-PI Dan Sorin advised Dr. Mappouros, and while nominally a computer architect, he also learned information theory and coding. His interdisciplinary background helped him secure a research internship at AMD in 2019.
After graduating from Duke in 2020, with a BEng in Electrical and Computer Engineering, Samantha Archer joined Nvidia as a hardware engineer. Ms. Archer received the Charles Ernest Seager Memorial Award for outstanding undergraduate research from the Department of Electrical and Computer Engineering for her contributions to this project.
After graduating from Duke in 2020, with a BSc in Computer Science, Rohith Kuditipudi joined the PhD program in Computer Science at Stanford. Rohith received the 2019 Alex Vasilos Award from the Duke Computer Science Department for outstanding research contributions, and a 2020 NSF Graduate Research Fellowship.
Last Modified: 09/11/2020
Modified by: Arthur Calderbank
Please report errors in award information by writing to: awardsearch@nsf.gov.