RRAM Variability and its Mitigation Schemes