7 CONCLUSIONS
This research set out to use GP to evolve a function to
aid the prediction of blocks that would not retain data
for a particular length of time. This has huge poten-
tial for use in SSDs as it aids the early identification of
blocks that are likely to lose their contents when pow-
ered off. Initial analysis of the data acquired through
the destructive testing of blocks within a Flash de-
vice showed the extremely noisy nature of the data
including conflicting data points and the huge poten-
tial for misclassification, making it impossible to cor-
rectly classify all data points.
A form of 8-fold cross validation was used to ver-
ify that our GP process could evolve individuals ca-
pable of generalising to unseen data. A data division
of 62.5% training, 12.5% validation, and 25% test-
ing was used and 80 runs were performed to generate
a variety of potential solutions. The best individual
from our set of potential solutions achieved 89.39%
correct classification on previously unseen data while
the average result was 85.79%. This highlights the
huge promise shown by this technique considering the
difficulty posed by the noisy data set.
Since no method to predict the deterioration of
Flash memory blocks over the course of a retention
period currently exists, we believe this classifier has
potential for real world application. We will continue
to expand on the research introduced in this paper and
build a more robust Retention Period Classifier by ac-
cumulating more data points at higher levels of cy-
cling for use by GP.
We have confirmed that it is possible to use EAs
to model Flash memory characteristics and now in-
tend to explore this area in greater detail. In future
research, we will progress to using EAs to improve
the endurance of Flash devices by optimising the op-
erating parameters for MLC NAND Flash memory.
ACKNOWLEDGEMENTS
The authors would like to thank Barry Fitzgerald for
his assistance in performing the temperature acceler-
ated tests required for this research.
REFERENCES
Aritome, S., Kirisawa, R., Endoh, T., Nakayama, R., Shi-
rota, R., Sakui, K., Ohuchi, K., and Masuoka, F.
(1990). Extended data retention characteristics af-
ter more than 10,000 write and erase cycles in EEP-
ROMs. In International Reliability Physics Sympo-
sium. 28th Annual Proceedings., pages 259 –264.
Aritome, S., Shirota, R., Hemink, G., Endoh, T., and Ma-
suoka, F. (1993). Reliability issues of Flash memory
cells. Proceedings of the IEEE, 81(5):776 –788.
Brewer, J. and Gill, M. (2008). Nonvolatile Memory Tech-
nologies with Emphasis on Flash (A Comprehensive
Guide to Understanding and Using Flash Memory
Devices). Wiley-IEEE Press.
Chen, F., Koufaty, D. A., and Zhang, X. (2009). Under-
standing intrinsic characteristics and system implica-
tions of Flash memory based solid state drives. In
Proceedings of the Eleventh International Joint Con-
ference on Measurement and Modeling of Computer
Systems, SIGMETRICS ’09, pages 181–192. ACM.
Desnoyers, P. (2010). Empirical evaluation of NAND
Flash memory performance. SIGOPS Oper. Syst. Rev.,
44:50–54.
Grupp, L. M., Caulfield, A. M., Coburn, J., Swanson, S.,
Yaakobi, E., Siegel, P. H., and Wolf, J. K. (2009).
Characterizing Flash memory: Anomalies, observa-
tions, and applications. In Proceedings of the 42nd
Annual IEEE/ACM International Symposium on Mi-
croarchitecture, MICRO 42, pages 24–33, New York,
NY, USA. ACM.
Kahng, D. and Sze, S. (1967). A floating-gate and its appli-
cation to memory devices. The Bell System Technical
Journal, 46(6):1288–1295.
Koza, J. R. (1992). Genetic Programming: On the Pro-
gramming of Computers by Means of Natural Selec-
tion. The MIT press.
Luke, S. (2010). ECJ 20. A Java-based evo-
lutionary computation research system.
http://cs.gmu.edu/∼eclab/projects/ecj/.
Mielke, N., Belgal, H., Fazio, A., Meng, Q., and Righos,
N. (2006). Recovery effects in the distributed cycling
of Flash memories. In Reliability Physics Symposium
Proceedings, 2006. 44th Annual., IEEE International,
pages 29 –35.
Mielke, N., Marquart, T., Wu, N., Kessenich, J., Belgal,
H., Schares, E., Trivedi, F., Goodness, E., and Nevill,
L. (2008). Bit error rate in NAND Flash memories.
In Reliability Physics Symposium, 2008. IRPS 2008.
IEEE International, pages 9–19.
Pavan, P., Bez, R., Olivo, P., and Zanoni, E. (1997). Flash
memory cells - an overview. Proceedings of the IEEE,
85(8):1248 –1271.
Poli, R., Langdon, W. B., and McPhee, N. F. (2008). A Field
Guide to Genetic Programming. Lulu.
Shread, P. (2009). Fusion-io low-
ers the price of solid state storage.
http://www.enterprisestorageforum.com/hardware/
news/article.php/3829246/Fusion-io-Lowers-the-
Price -of-Solid-State-Storage.htm.
Sullivan, J. and Ryan, C. (2011). A destructive evolu-
tionary algorithm process. Soft Computing - A Fu-
sion of Foundations, Methodologies and Applications,
15:95–102. 10.1007/s00500-009-0513-2.
Yaakobi, E., Ma, J., Grupp, L., Siegel, P., Swanson, S.,
and Wolf, J. (2010). Error characterization and coding
schemes for Flash memories. In GLOBECOM Work-
shops (GC Wkshps), 2010 IEEE, pages 1856 –1860.
EvolvingaRetentionPeriodClassifierforusewithFlashMemory
33