瀏覽單個文章
commando001
Master Member
 
commando001的大頭照
 

加入日期: Nov 2010
文章: 2,414
引用:
作者Million
好吧, 自己說明好了
http://upload.wikimedia.org/wikiped..._and_Blocks.png
不時無刻地執行GC的極端後果, 會導致為了回收一個4K PAGE而ERASE掉整個64個 4K PAGE的BLOCK,
因為ERASE的最小單位就是一個BLOCK , 這個ERASE很傷FLASH的壽命,
這也是為什麼SANDFORCE採被動GC的主要原因, 就是要照顧FLASH的壽命.
.
.


簡單一個實例來看看好了

E代表空白的SECTOR
R代表有寫入的SECTOR
D代表標記刪除的SECTOR

假設原本一個BLOCK有4*4個SECTOR

E E E E
E E E E
E E E E
E E E E

這個大家沒疑問吧?

再來我們把這個BLOCK寫到滿

R R R R
R R R R
R R R R
R R R R

這個也沒問題吧?

1.這其中有兩個SECTOR的資料被標記刪除了

R R D R
R R R R
R D R R
R R R R

現在的共識是,如果要GC就是整個BLOCK都是D時是最佳狀況

那現在這情況MARVELL/SF的控制器會不會GC?

2.那如果有7個SECTOR的資料被標記刪除了呢?

R R D R
R D D R
R D D R
D R D R

3.那如果有10個SECTOR的資料被標記刪除了呢?

R R D D
D R R R
D D D D
R D D D
__________________
新。弱弱的戰績
舊 2012-07-28, 01:12 PM #138
回應時引用此文章
commando001離線中