たぶん、188さんと同じようなことかもしれないけど、
1GBのファイルを分割してバブルソートしてはどうかな?
たとえば10MBくらいのファイルを100個作って番号を振っておく。
まずファイル1と2を読み込んでソート。
20MBくらいならオンメモリでできるでしょう。
ソート後にファイル1と2に半分づつ書き戻す。
次は、ファイル2と3を読み込んでソート・・・てな具合にやれば出来そうな気が。