CR5M: A Mirroring-Powered
Channel-RAID5 Architecture for An SSD
把RAID搬進SSD中,RAID的"D"則從disk變成channel (所以有時候會有redundant data因而可能改善read performance)
很像survey paper,他調查了各種RAID(例如RAID1, RAID4 and 5 ...etc.)對效能的影響。
ECC有時能力不足,像是error bit太多block or die error(?),所以有蠻多人提出RAID in SSD的概念。
RAID-5是保護強度蠻高的作法,每組stripe都會計算出一個parity,同組stripe中,有data出問題時,可以透過parity和其餘的data重新計算還原。但它有缺點: 同組stripe中,就算只有部份(i.e., partial strip write)被更新,也要重算parity,有兩種作法(假設某strip有5個pages ABCDEFG,目前要更新AB):
1 讀出舊AB和parity來重算,共要讀三個
2 讀出CDEFG來重算,共要讀五個
很明顯,在此例中,法二的overhead比較低。
CR5M會依"parity重建overhead"來決定法一或是法二。
2015年2月14日 星期六
2015年2月12日 星期四
想做的題目已被做掉 #0213
想研究"在SSD中平衡de-duplication和replication兩種技術" (註1)
但卻在搜集完最近發表的論文後,很快發現已有類似的作品(2014年的)
(R-dedup: content aware redundancy management for ssd-based RAID systems)
註1:
deduplication (簡稱D)和replication(簡稱R)各有好處,像是D可以減少寫入,加快GC; R可以降read response time和提供較好的reliability。針對workload特性,來決定1)要不要100% D,2)如果不要,要留幾份replicas下來?、3)要留在那一個地方?
但卻在搜集完最近發表的論文後,很快發現已有類似的作品(2014年的)
(R-dedup: content aware redundancy management for ssd-based RAID systems)
註1:
deduplication (簡稱D)和replication(簡稱R)各有好處,像是D可以減少寫入,加快GC; R可以降read response time和提供較好的reliability。針對workload特性,來決定1)要不要100% D,2)如果不要,要留幾份replicas下來?、3)要留在那一個地方?
2015年1月7日 星期三
debug skill
發現SPF error (浮點數錯誤) → 發現某值A被意外改到 (unintentionally) → 用 watch 去看看何時改到 ,發現是某 array 超過範圍 去蓋到
學習惹
學習惹
2014年12月30日 星期二
Error-correcting codes 錯誤更正碼,ECC,BCH
A想傳送"1"給B,但是怕bit-flip,這時候就是 Error-correcting codes (ECC) 登場的機會啦。
首先,先把"1"(稱作message)用 coding 加以保護 (方法有很多種,先用 Repetition Coding 當範例),經 Repetition Coding 之後 "1" 變成 "111" (稱為codewords) ,這樣當B收到101,就會猜想中間的"0"應該是bit-flip。
如果運氣很差,剛好flip兩個bits (變成100) 怎麼辦? 那就沒救了,將會判斷成收到 0's。
想要這種出錯率降底的話,就把"1" 變成 "1111111111111.....11111111"
越多越爽,但傳輸率(效能)就爛到哭。
總之,是有tradeoff的,Repetition Coding 很鳥,用來當範例方便而以。有機會(or never)再介紹其他比較威風的 ECC,像是BCH或是LDPC。
腦補-------------------------------------
A BCH code with a higher error-correcting capability (and higher overhead) is the [8360, 8192, 12] code, which can correct 5 errors or detect 11 errors.
8360是codewords
8192是message
所以redundancy的部份就是 8360 - 8192 = 168
多了這168 bits,傳輸變成原本的 8192/8360 = 0.979倍
首先,先把"1"(稱作message)用 coding 加以保護 (方法有很多種,先用 Repetition Coding 當範例),經 Repetition Coding 之後 "1" 變成 "111" (稱為codewords) ,這樣當B收到101,就會猜想中間的"0"應該是bit-flip。
如果運氣很差,剛好flip兩個bits (變成100) 怎麼辦? 那就沒救了,將會判斷成收到 0's。
想要這種出錯率降底的話,就把"1" 變成 "1111111111111.....11111111"
越多越爽,但傳輸率(效能)就爛到哭。
總之,是有tradeoff的,Repetition Coding 很鳥,用來當範例方便而以。有機會(or never)再介紹其他比較威風的 ECC,像是BCH或是LDPC。
腦補-------------------------------------
A BCH code with a higher error-correcting capability (and higher overhead) is the [8360, 8192, 12] code, which can correct 5 errors or detect 11 errors.
8360是codewords
8192是message
所以redundancy的部份就是 8360 - 8192 = 168
多了這168 bits,傳輸變成原本的 8192/8360 = 0.979倍
2014年12月10日 星期三
訂閱:
文章 (Atom)


