In this paper we describe a dynamic external memory data structure that supports range reporting queries in three dimensions in O(log2 B N + k B ) I/O operations, where k is the number of points in the answer and B is the block size. Our data structure uses O(N B log2 2 N log2 2 B) blocks of space and supports updates in O(log3 2 N) amortized I/Os. This is the first dynamic data structure that answers three-dimensional range reporting queries in log O(1) B N + O( k B ) I/Os.