This shouldn't be a problem if you a apply a sliding window technique° plus splitting the hashes into easily swappable chunks².
The trick is to balance time, space and disk access, by minimizing the the number of swaps.
This will scale well, until the limit given by disk-space.
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery