The data sets for many of today's computer applications are too large to t within the computer's internal memory and must instead be stored on external storage devices such as disks. A major performance bottleneck can be the input output communication or I O between the external and internal memories. In this paper we discuss a variety of online data structures for external memory, some very old and some very new, such as hashing for dictionaries, B-trees for dictionaries and 1-D range search, bu er trees for batched dynamic problems, interval trees with weight-balanced B-trees for stabbing queries, priority search trees for 3-sided 2-D range search, and R-trees and other spatial structures. We also discuss several open problems along the way.