Faster, more durable flash memory sought out for project
USB flash drives have become nearly ubiquitous and are now dressed out as everything from Winnie the Pooh to hand grenades. But to further expand flash memorys use in such applications as the main memory of a computer, more work is needed, says a UT Dallas researcher.
Dr. Edwin Sha has received a $132,000 award to investigate two areas in particular: extending the lifetime of flash memory and speeding up how quickly flash memory saves data.
The goal of this project is to develop answers to these issues as well as to investigate in depth the future technological trends of flash memory integration in embedded systems, said Sha, a professor of computer science in the Erik Jonsson School of Engineering and Computer Science.
The durability of todays flash memory in other words the number of erases possible is limited. This probably never rises to the level of a problem with a typical USB flash drive, but a block of a typical flash memory can be erased only up to a million times. And every time you save data (except for the first save on a clean flash memory), you cause an erase action. Devising software that reduces saves would extend the lifetime of flash memory.
And if you ever noticed it took longer to save a file to flash memory than to retrieve it, thats because theres a significant difference: Saves take more than 300 times as long. The difference between saving and retrieving a 100 kilobyte photograph is minuscule, but the difference when dealing with a 20 gigabyte file can be a minute or two an eternity, in digital time.
Sha suspects reducing the number of write operations on flash memory will significantly improve performance, and he believes that can be accomplished through software.
The specific areas he will explore include:
The Efficient heuristics and optimal integer linear programming solutions.
Memory configuration, cache structure and scheduling techniques for both single-core and multi-core systems considering such important metrics as timing, power consumption, reliability and memory overhead.