Advanced Memory Systems Architecture

More Information

UBC Calendar



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. 

Textbook: No required textbook.

Recommended books

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

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

Course Policies:

Students in this course are expected to read and present state-of-the-art research papers, do programming assignments, and complete one open-ended project.  The open-ended project must be chosen in consultation with the Instructor.  There would be a project report at the end of the term for each student.

Grading for research-track students:

Class Presentation: 10%

In-Class Quizzes: 30%

Four Programming Assignmens: 30%

Final Report (due on the day of the final exam): 30%

Projects and 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 the open-ended 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 cheating or any other misconduct.  Copying or receiving any other information from another person, with or without their consent, is unethical and unacceptable. Cheating is academic misconduct and will be dealt with accordingly. Please see:

Late policy:

All assignments and projects are due on the date specified by Canvas.  Assignments and 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 deadline is Friday and you turn it in Sunday, that's two days late).

Project and assignment extension:

You can request an extension for programming assignments and projects 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 via 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 an assignment 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.

Office Hours:

Please respect the office hours of the instructor and the teaching assistants by planning in advance. Other times are possible by appointments.

Student honour code:

Zero tolerance towards any academic misconduct. Any misbehavior will be reported to the Dean of Students directly.


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 2020 The University of British Columbia