Advanced Memory Systems Architecture

More Information

UBC Calendar

3 Credits


Course Description

Memory systems are critical to store and supply data to processing cores. As we move into advanced processor designs, it has become important to design efficient memory systems. This course will cover advanced topics in caches and main memories, including the areas of performance optimization, low-power architectures, secure, and reliable systems. The main purpose of this course is to provide students with key technical knowledge that would make them industry-ready and enable them to perform high-quality research. This course is research-heavy and intents to help students develop keen insights into the research and development of memory systems.


Course Policies:

The course will have two tracks: a research-track and a finals-track. Students in the research track are expected to define and solve an important research problem. The research work should be of the quality such that it can potentially lead to a workshop or a conference submission. Given that this will be a substantial amount of work, students in the research track will be exempted from presenting a paper and the final exam. The research report at the end of the term will be used as a substitute for the final exam.

Grading for finals-track students

  • 5% Pop Quizzes and Class participation 

  • 10% Paper presentation 

  • 10% Paper summaries (when others are presenting)

  • 20% Four assignments, each 5%

  • 30% Two midterms, each 15%

  • 25% Final Exam (comprehensive)


Grading for research-track students

  • 5% Pop Quizzes and Class participation 

  • 10% Paper summaries (when others are presenting)

  • 20% Four assignments, each 5%

  • 30% Two midterms, each 15%

  • 35% Final report (due on the day of the final exam)

Homework and programming assignments 

The instructor encourages you to study in groups. However, homework, examinations and your work on all programming assignments must be your own individual work. The paper survey and a research project can be a group project. Collaboration with other students or other persons is prohibited. Submitting any work other than your own is academic misconduct. If you are not sure what you can discuss or not, please contact the instructor.


Absolutely no collaboration at all. Copying or receiving any other information from another person or their exam, with or without their consent, is unethical and unacceptable. Cheating is academic misconduct and will be dealt with accordingly. Please see:


Homework and report late policy: All homework assignments are due on the day specified by the problem set and posted online.


Programming assignment late policy: All programming assignments are due on the day specified by the assignment description and posted online. Projects received after the due date will lose 20% of the grade on the first late day, 50% on the second, and 100% on the third day. Weekend days are counted in the same way as weekdays (e.g., if the project deadline is Friday and you turn it in Sunday, that's two days late).


Programming assignment extension: You can request an extension for programming assignments for up to 5 days without any penalty only once during the semester for special situations such as conference paper deadlines, interviews etc. You must request the extension two days before by e-mail.


Assignment submission rules: You must follow the submission guidelines specified in the assignment description. Wrong file names, broken file formats, missing files will lose 20% of the grade. For reports, you must turn in a hard copy of your report during the class time.


Regrades: If a test is submitted for a re-grade, the instructor has the right to re-grade the entire test, so keep it in mind that it is possible to lose additional points. Therefore, it is strongly recommended that you do not ask for a re-grade unless you have substantial reason to believe that the instructor made a mistake when originally grading the test.


Class participation: We do not check attendance. You will get class participation points if (1) you ask many good questions during the class (2) you answer actively in online group discussions in the piazza.


Kindly do not use any computers/tablets/cellphones during the lecture. Please use a notebook to take notes. Recommended books 

“Memory Systems: Cache, DRAM, Disk” Bruce Jacob, Spencer Ng, David T. Wang, Morgan Kaufman (pubs.), 2007

Papers from top-tier conferences: ISCA, MICRO, HPCA, ASPLOS etc.



a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2019 The University of British Columbia