Conductive bridging RAM (CBRAM): an emerging non-volatile memory technology scalable to sub 20nm | Synapse