  We present a constraint-coding scheme to correct asymmetric magnitude-$1$
errors in multi-level non-volatile memories. For large numbers of such errors,
the scheme is shown to deliver better correction capability compared to known
alternatives, while admitting low-complexity of decoding. Our results include
an algebraic formulation of the constraint, necessary and sufficient conditions
for correctability, a maximum-likelihood decoder running in complexity linear
in the alphabet size, and upper bounds on the probability of failing to correct
$t$ errors. Besides the superior rate-correction tradeoff, another advantage of
this scheme over standard error-correcting codes is the flexibility to vary the
code parameters without significant modifications.
