  Architectures that incorporate Computing-in-Memory (CiM) using emerging
non-volatile memory (NVM) devices have become strong contenders for deep neural
network (DNN) acceleration due to their impressive energy efficiency. Yet, a
significant challenge arises when using these emerging devices: they can show
substantial variations during the weight-mapping process. This can severely
impact DNN accuracy if not mitigated. A widely accepted remedy for imperfect
weight mapping is the iterative write-verify approach, which involves verifying
conductance values and adjusting devices if needed. In all existing
publications, this procedure is applied to every individual device, resulting
in a significant programming time overhead. In our research, we illustrate that
only a small fraction of weights need this write-verify treatment for the
corresponding devices and the DNN accuracy can be preserved, yielding a notable
programming acceleration. Building on this, we introduce USWIM, a novel method
based on the second derivative. It leverages a single iteration of forward and
backpropagation to pinpoint the weights demanding write-verify. Through
extensive tests on diverse DNN designs and datasets, USWIM manifests up to a
10x programming acceleration against the traditional exhaustive write-verify
method, all while maintaining a similar accuracy level. Furthermore, compared
to our earlier SWIM technique, USWIM excels, showing a 7x speedup when dealing
with devices exhibiting non-uniform variations.
