predictive garbage collection for flash memories

Post on 30-Jul-2015

199 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related