  Rank modulation has been recently proposed as a scheme for storing
information in flash memories. While rank modulation has advantages in
improving write speed and endurance, the current encoding approach is based on
the "push to the top" operation that is not efficient in the general case. We
propose a new encoding procedure where a cell level is raised to be higher than
the minimal necessary subset - instead of all - of the other cell levels. This
new procedure leads to a significantly more compressed (lower charge levels)
encoding. We derive an upper bound for a family of codes that utilize the
proposed encoding procedure, and consider code constructions that achieve that
bound for several special cases.
