Overcoming the Memory Bottleneck in Suffix Tree Construction