predictive garbage collection for flash memories
TRANSCRIPT
Sai – 9th March’08
NAND flash becoming more and more ubiquitous with promising features such as: very low power consumption compactness affordability, and so on
Flash memory management is quite involved and decides the effective bandwidth available to an application
Garbage Collection is a very time consuming process occurs only at a very less frequency, but determines worst-case
performance
Evening out garbage collection over idle periods in flash access can be very lucrative
Mp3 player was run Occasional writes were issued to the device in parallel Bottom line: if the prescribed performance 128 kbps is maintained
Greedy Approach:◦ Wu, M., Zwaenepoel, W., “eNVy: A Non-Volatile, Main Memory Storage
System,” 1994.
Cost-benefit policy:◦ Kawaguchi, A., Nishioka, S., and Motoda, H., “A Flash-Memory Based File
System,”, 1995.
Cost-Age-Time policy:◦ Mei-Ling Chiang, Paul C. H. Lee, Ruei-Chuan Chang, “Cleaning policies in
mobile computers using flash, 1999.
Real-Time Garbage Collection: Li-Pin Chang, Tei-Wei Kuo, Shi-Wu Lo, “Real-timegarbage collection for flash-
memory storage systems of realtimeembedded systems,” ,2004.
The Challenge:◦ addressing orthogonal requirements of wear-leveling, garbage
collection and utilization!!
The device is used up to the full extent , so, a new allocation will call for the “clean-up” operation
The PROBLEM:◦ Very time consuming◦ Need to merge a huge amount of data, copy and
erase blocks for making space
write_sect
Block First time being written?
· find_free_block
· write_page
· Update OOB
· Update Block Status
find_free_block
YES FAILURE
SUCCESS
DONE
· Complete GC
· write_sect
Page First time being written?
NO
· write_page
· Update OOB
· Update Page StatusYES
Free block exists?
Replacement Block Exists ?
NO
Replacement Block Free?
· fold
· write_sect
NO
YES
YES
NO
NO
Is there an efficient prediction algorithm that can work for a variety of workloads for application-adaptive management of flash memory?
How to dynamically optimize orthogonal metrics of power and bandwidth of NAND flash?
Implement the above two on a flash simulator and demonstrate gains