Post on 17-Jan-2016
Container Marking : Combining Data Placement, Garbage Collection and
Wear Leveling for FlashMASCOTS '11
Xiao-Yu Hu, Robert Haas, and Eleftheriou EvangelosFrom IBM Reserarch, Zurich, Switzerland
2011. 08. 23 (Tue)Kwangwoon univ. SystemSoftware Lab.
HoSeok Seo1
2
Introduction
Garbage Collection Reclaim blocks that include invalid page to reuse it as
free blocks
Wear Leveling Use blocks evenly to extends overall SSD endurance life
But, Wear Leveling makes Unnecessary invalid pages Unnecessary Writes ( for relocation of valid pages )
In this paper Proposes Container Marking Scheme to solve these prob-
lems
3
Background
Garbage Collection
Greedy- Select victims that have less valid pages
Cost-benefit(FIFO)- Consider two parameters
• time after last updated block• Number of valid pages
- Select victims that have the biggest value
4
Motivation
Why are active and inactive pages distinguished?
5
Scheme Principle
If a block has the same active level pages,it has high chance to have invalid pages a lot.
Marker Blocks have a marker indicating block’s endurance life. Pages have a marker indicating page’s active level
Data placement One block has the same active level pages. More active pages is located more younger blocks
6
Container-marking based data place-ment Block marker range : 1 ~ 2L
Low marker : older blocks High marker : younger blocks
The free block pool is organized by a priority queue in term ofthe remaining life count of the blocks.
The priority queue can be logically divided into 2L segments.
Once a free block has been filled up with data, it is removed from the free block pool and goes into one of 2L lists of occupied blocks depending on its marker
7
Container-marking based data place-ment
8
Modified greedy selection
Victim selection policy for garbage collection. Prevent relatively younger blocks from being
locked by inactive data.
To select j-th block,V : the number of valid page in
a blockE : remaining
life count
9
Page marker estimation Basic
At high utilization, pages on average have a higher chance to be relocated than to be updated.
In this case, the markers gradually decrease and converge to lower values.
Type Estimation
New M = L
Updated M = m’ + 1
Relocated M = m’ - 1
10
Page marker estimationwith probabilistic marker
11
Implementation
Java-based Simulator
Map Policy : page-level mapping
Container-marking meta data (32bits) Remaining life count (20bit) The number of valid pages within the block (8bits) Container marker (4bits)
12
Result
13
Result