Office: EBU3B 3212
Office Hours: By appointment
The world is overflowing with data, but existing technology for storing and moving it into a processor cannot keep up. As the onslaught continues, new technologies (like flash memory and other solid-state memories) have emerged. They offer tantalizing performance gains and they will promise to bridge the gap between big, slow, non-volatile storage and small, fast, volatile memories. As is often the case, this advance in hardware technology requires a re-evaluation of how applications manage, allocate, and use the technology.
This course is will cut a swath across storage technology from silicon, electron spin, and spinning disks through hardware and operating system management layers and into applications. The goal is to gain perspective on existing approaches to storing, managing, and accessing data in contemporary technologies and understand how those techniques apply to emerging technologies.
We will cover a range of topics and will focus on less conventional solutions storage problems. In particular we will discuss (at least):
The class will consist of student presentations and discussion. We will divide the topics in the course among the students. For each topic, the student will research the topic, select a set of readings, and present a lecture. The lectures should focus on how the underlying technologies affected the current solutions to these problems and how the approaches would change if applied to new technologies. Since some of the topics are covered in othe grad classes, we will focus on less conventional solutions to problems that arise in each area.
As part of the presentation you will create a wiki page on the course wiki. You should list links to the resources you used in your investigation, so that others can go poke around if they are interested. The wiki is hosted here. You will need a google account. Please make sure all the links work. If there resources you can't link to for some reason, email me the files along with a topic word, and I will put them online. They will be accessible as http://www.cse.ucsd.edu/classes/fa08/cse249a/resources/<topic>/<filename>, and you can link to them there. Please, make sure there are no spaces in the filenames. The wiki page for my lecture on DRAMs and SRAMs has examples of all this.
I will post the slides for most lectures. Since the slides contain material I am not allowed to distribute publically, they are password protected. I have posted the username and password to the web board.
|Monday, September 29||Overview of course goals and format; Administrivia||slides|
|Wednesday, October 1||DRAM and SRAM|
|Monday, October 6|
|Wednesday, October 8||Guest Speaker: Jack Wolf from CMRR -- Introduction to Disks|
|Monday, October 13||Guest Speaker: Sean Eilert (Numonyx Inc.) -- Phase change memories (in cse4140)|
|Wednesday, October 15||Nathan Goulding -- Optical media|
|Monday, October 20||Joel Coburn -- File systems overview|
|Wednesday, October 22||Jose -- Single address-space operating systetms|
|Monday, October 27||Guest Speaker: Alex Driskill-Smith (Grandis Inc.) -- Spin transfer torque memories (in cse4140)|
|Wednesday, October 29||Jose -- Single address-space operating systetms|
|Monday, November 3||Guest Speaker: Rajesh Gupta (CSE) -- alternative memory hierarchies|
|Wednesday, November 5||Anshuman -- Garbage collection|
|Monday, November 10||Adrian -- NAND Flash|
|Wednesday, November 12||Jan Silverman (Spansion) -- NOR flash|
|Monday, November 17|
|Wednesday, November 19||Nathan F. -- Objective DB|
|Monday, November 24||Alden -- Transactional memory|
|Wednesday, November 26||Laura -- Flash translation layers|
|Monday, December 1||Jeff -- Malloc and memory allocators|
|Wednesday, December 3||Bruce -- Racetrack|