Storage systems are among the most fascinating and the most important parts of computer systems. They often dominate the performance of a system, and their components' inner workings require amazing feats of engineering. At the same time, storage systems hold the crown jewels of most organizations: their information (from source code to Microsoft's software to the sales databases of every e-commerce site). Within the field of computer systems and computer engineering, there is no area whose demand for bright people and better solutions is growing more rapidly.
This course will cover the design, implementation, and use of storage systems, from the characteristics and operation of individual storage devices to the OS, database, and networking approaches involved in tying them together and making them useful. Along the way, we will examine several case studies of real systems, demands placed on storage systems by important applications, and impacts of trends and emerging technologies on future storage systems.
NOTE: Spring 2001 will be the first offering of this course, and it will be developed largely on the fly. Please see the comment on Expectations below.
For those familiar with 18-316 (Intro. to Data Storage Systems Technology) and 18-517 (Data Storage Systems Design Project): one should consider these courses as distinct and complementary, with neither being a pre-requisite to the other. 18-316 and 18-517 focus on the low-level technologies (magnetics, materials, applied physics, etc.) whereas 18-546 focuses on storage's incorporation and role in computer systems.
Regular lectures by the instructor on core topics of storage systems Guest lectures by experts in the field Several homework problem sets Midterm and final exams Possibly small project-like lab assignments (depending on what time allows)
18-546 will cover a wide spectrum of system-level topics in the design, implementation, and use of storage systems. Topics covered will include:
This book is not a conventional textbook, and it covers only a fraction of the material for the course. Therefore, the instructors will also hand out readings to complement the lectures. Some of these readings from books and the research literature. Others will be draft chapters of a book that the instructors are constructing to eventually be the textbook for this class. See the Lectures & Readings page for an overview of the latest plan.
This course will require solid understanding of computer organization, basic operating systems, and basic communication. Therefore, the pre-requisites are 15-412 and 18-347. Exceptions are only by permission of the instructor.
This is the first offering of this course -- students should expect the going to be rough and awkward at times. Please DO NOT enroll for this course if you are not comfortable with an evolving, unpolished course. The instructor promises to work his petutie off trying to make it as rich, educational, and fun as possible. The instructor has high hopes for the term.