[new] suffix array with guaranteed linear space