User Tools

Site Tools


start

This is an old revision of the document!


Memory Systems: Fundamentals, Recent Research, Challenges, Opportunities

Welcome to the wiki for Memory Systems. This course material is based on Onur Mutlu's lectures October 8-12, 2018 at Technion, and his lectures during the HiPEAC ACACES Summer School July 9-13, 2018.

Course Information

Description

The memory system is a fundamental performance and energy bottleneck in almost all computing systems. Recent system design, application, and technology trends that require more capacity, bandwidth, efficiency, and predictability out of the memory system make it an even more important system bottleneck. At the same time, DRAM and flash technologies are experiencing difficult technology scaling challenges that make the maintenance and enhancement of their capacity, energy efficiency, performance, and reliability significantly more costly with conventional techniques. In fact, recent reliability issues with DRAM, such as the RowHammer problem, are already threatening system security and predictability. We are at the challenging intersection where issues in memory reliability and performance are tightly coupled with not only system cost and energy efficiency but also system security.

Outline

In this course, we first provide a comprehensive overview of memory systems, taking an approach that covers both fundamentals and recent research. We will first introduce fundamental principles and ideas, covering DRAM and emerging memory technologies as well as many architectural concepts and ideas related to memory organization, memory control, processing-in-memory, and memory latency / energy / bandwidth / reliability / security / QoS. We will discuss major challenges facing modern memory systems (and the computing platforms we currently design around the memory system) in the presence of greatly increasing demand for data and its fast analysis. We will examine some promising research and design directions to overcome these challenges. On the research-related part of course (sprinkled across topical lectures), we discuss the following key research topics in detail, focusing on both open problems and potential solution directions:

  1. Fundamental issues in memory reliability and security and how to enable fundamentally secure, reliable, safe architectures
  2. Enabling data-centric and hence fundamentally energy-efficient architectures that are capable of performing computation near data
  3. Reducing both latency and energy consumption by tackling the fixed-latency/energy mindset
  4. Enabling emerging memory technologies
  5. Enabling predictable and QoS-aware memory systems
  6. Research challenges and opportunities in enabling emerging NVM (non-volatile memory) technologies
  7. Scaling NAND flash memory and SSDs (solid state drives) into the future

Topics

The following are topics the course will discuss in varying detail:

  1. Fundamentals, Memory Hierarchy, Caches
  2. Cache Management and Memory Parallelism
  3. Main Memory and DRAM Fundamentals
  4. DRAM Operation, Memory Control & Memory Latency
  5. Low-Latency DRAM and Processing In Memory
  6. Emerging Memory Technologies
  7. Memory Interference and Quality of Service
  8. Multi-Core Cache Management
  9. Latency Tolerance and Prefetching
  10. Multiprocessors, Consistency, Coherence
  11. Interconnects: Fundamentals and Recent Research
  12. NAND Flash Memory (if time permits)
  13. Potpourri of Recent Research Papers

Many of these topics are based on the following graduate-level course at ETH Zurich: https://safari.ethz.ch/architecture/fall2017/doku.php?id=schedule.

Prerequisites: A rigorous computer architecture and digital design course similar to: https://safari.ethz.ch/digitaltechnik/spring2018/doku.php?id=schedule

Lectures (Slides and Videos)

  1. a) Memory Importance and Trends, b) Course Logistics, c) Main Memory and DRAM Basics (Taught on Oct 8th)
    Lecture Slides (.pptx)(pdf)
    Videos1.1 1.21.3 1.4
  2. a) Memory Scaling: Reliability & Security, b) Flash Memory Reliability & Security, c) DRAM Refresh (Taught on Oct 9th)
    Lecture Slides (.pptx) (.pdf)
    Videos 2.12.22.3
  3. Processing-in-Memory (Taught on Oct 9th)
    Lecture Slides (.pptx)(.pdf)
    Videos 3.13.23.3
  4. Low-Latency Memory (Taught on Oct 10th)
    Lecture Slides (.pptx)(.pdf)
    Videos 4.14.24.3
  5. Emerging Memory Technologies (Taught on Oct 10th)
    Lecture Slides (.pptx)(.pdf)
    Videos 5.15.25.3(until 14.15)
  6. Memory Interference and QoS (Taught on Oct 10th and Oct 11th)
    Lecture Slides (.pptx (.pdf)
    Videos 6.1(starting at 14:55) 6.26.36.46.5
  7. Interconnects (Taught on Oct 11th and Oct 12th)
    Lecture Slides (.pptx) (.pdf)
    Videos
  8. Asymmetric Multi-Core
    Lecture Slides (.pptx) (.pdf)
    Videos

Links to previous courses:
Memory Systems Technion Course 2018
Memory Systems HiPEAC ACACES Summer School 2018

start.1545778815.txt.gz · Last modified: 2019/02/12 16:34 (external edit)