Few NAND flash users realize that these chips have a lot of internally-adjusted parameters that are tuned to optimize performance, endurance, and yield. The operation of these parameters is a closely-held secret that flash makers share with very few of their most important customers. Other customers won’t even learn how to access these parameters!
The Memory Guy can’t claim to know what any of the parameters really are, but I have been given the understanding that they control things like the voltage thresholds used to determine which bit is represented on an MLC cell, or how much energy to put into a bit cell when it’s being programmed or erased. I hear that there are hundreds of these parameters, and they are all painstakingly hand-tuned by highly talented experts during a new chip’s characterization phase to assure that the chip will yield to the required specifications. Once the magic set of parameters has been determined, then the parameters of all subsequent chips are set to the same values.
It’s a long and arduous struggle to get the first chip tuned, though.
Some university researchers in Ireland decided that there must be a better way to do this and created a machine learning algorithm to tune the parameters better and faster than could be done by humans. Then they took it a little further and put together a scheme that allows the flash controller to adjust the parameters over the life of the flash chip to extend its useful life by twenty or more times than is possible using established methods.
This technology is being licensed by a company named NVMdurance, founded by the researchers who invented the approach.
The process is more involved than I can present here, but it starts with a machine learning algorithm that determines how best to tune the part. This product has been named the “Pathfinder” since it works out the best few paths a chip can take to reach maximum endurance. Another algorithm called the “Navigator” resides in the flash controller chip and manages the flash chip’s internal parameters during operation to follow one of the paths recommended by the Pathfinder. The exact set of paths chosen by the Navigator differs from chip to chip and depends on the kind of wear the particular application is causing for the flash.
The folks at NVMdurance liken this to a spaceship finding the best path through a meteoroid belt, as they illustrated in this post’s graphic.
It’s a very interesting twist on the problem of tuning these parameters, and puts machine learning to good use in a very practical way. In fact, it won the Best of Show Award at the 2013 Flash Memory Summit.
Although I don’t know all of the secrets behind the technology, you can probably tell that it’s something I find intriguing. NVMdurance hopes to license the technology to be used with NAND flash and other memory technologies that could benefit by the use of machine learning to tune their internal parameters.
I think this is a company worth watching!