predictive garbage collection for flash memories

7
Sai – 9 th March’08

Upload: flashdomain

Post on 30-Jul-2015

198 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Predictive Garbage Collection for Flash Memories

Sai – 9th March’08

Page 2: Predictive Garbage Collection for Flash Memories

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

Page 3: Predictive Garbage Collection for Flash Memories

Mp3 player was run Occasional writes were issued to the device in parallel Bottom line: if the prescribed performance 128 kbps is maintained

Page 4: Predictive Garbage Collection for Flash Memories

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!!

Page 5: Predictive Garbage Collection for Flash Memories

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

Page 6: Predictive Garbage Collection for Flash Memories

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

Page 7: Predictive Garbage Collection for Flash Memories

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