This course examines volatile and non-volatile solid state random access memory (RAM) systems in terms of their microarchitecture, addressing and cell physics. Both commercially deployed memory technology (Dynamic RAM, Static RAM, Flash, etc) will be examined along with emerging technologies (like Magnetic RAM, Resistive RAM). Microarchitecture issues like queueing, request aggregation, write and read times, latency, etc. will be addressed. Cell physics will be examined using physical models of device switching, including heat flow, magnetic field induced switching, capacitance and tunneling. Students will be evaluated on a series of homework problems addressing cell I-V characteristics and memory sizing. The semester will culminate with a project of several weeks duration in which students will develop and adapt simulations of a memory controller, to demonstrate their mastery of course concepts.