Evolving a storage block endurance classifier for Flash memory: A trial implementation

Solid State Drives (SSDs) have a number of significant advantages over traditional Hard Disk Drives (HDDs) but are currently far more expensive and have smaller capacities. These drives are based on NAND Flash memory devices, which have limited working lives. The number of times locations in such devices can be successfully programmed before they become unreliable is termed their endurance. There is currently no way to estimate accurately when a location within a Flash device will fail, so manufacturers give extremely conservative guarantees about the number of program operations their chips can endure. This paper describes a trial implementation of Genetic Programming (GP) used to evolve a Binary Classifier that predicts whether storage blocks within Flash memory devices will still be functioning correctly beyond some predefined number of cycles. The classifier is supplied with only the measured program and erase times from a relatively early point in the lifetime of a block. Using the relationships between these times, the system can accurately predict whether the block will continue to function satisfactorily up to a required number of cycles. Experiments on test sets comprised of unseen data show that our classifier obtains up to an average of 95% accuracy across 30 runs.

[1]  Piero Olivo,et al.  Flash memory cells-an overview , 1997, Proc. IEEE.

[2]  Paul H. Siegel,et al.  Error characterization and coding schemes for flash memories , 2010, 2010 IEEE Globecom Workshops.

[3]  S. Sze,et al.  A floating gate and its application to memory devices , 1967 .

[4]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[5]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[6]  J. Kessenich,et al.  Bit error rate in NAND Flash memories , 2008, 2008 IEEE International Reliability Physics Symposium.

[7]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[8]  Conor Ryan,et al.  A destructive evolutionary algorithm process , 2011, Soft Comput..

[9]  Tetsuo Endoh,et al.  Reliability issues of flash memory cells , 1993, Proc. IEEE.

[10]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[11]  Vic Ciesielski,et al.  Representing classification problems in genetic programming , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).