VLSI-Design of Non-Volatile Memories