Abstract: A system and methods for rapid unloading and reorganization of hierarchical databases. Overflow and a window of blocks are progressively read into memory. Unloading proceeds as the scan cylinders window moves ahead. The reading of blocks stays about scan cylinders ahead of the unload. As a segment is unloaded, its space is converted to free IMS space and when appropriate, combined with adjacent free space already in the block. Thus about a window behind the unload point in the data base, all of the segments in a block will have been converted to free space making the block one unit of free space. There will then be no further references to this block and it may be page released back to the OS memory management. Thus no paging subsystem I/O occurs. Where data remains in the data space at the conclusion of the unload, errors are noted that would otherwise have gone unnoticed.