背景: Pairity: 一個stripe所有條目的異或結果, pairity可以存在buffer中也可以存在flash裡面。 stripe: flash裡面可以用一個super page(super wl)去表示一個stripe,如圖紅框區域。 Raid: ssd 内部一般使用raid5。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9kkaN5WNXp1dk1mYoR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwcDN4MTOzcTM1ETMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
Raid寫分以下幾步: 1. 準備資料/寫入資料: 依次異或LUN0 ~ LUN2每個Plane WL0 + LUN3 Plane0 的資料,得到parity。 如圖:
2. 寫入parity parity 可以寫到nand,也可以寫到memory.. 3. 恢複資料: 還是依次異或每個pg/wl + parity資料最終恢複原來的資料,如圖:
4. 可以吧恢複的資料重新寫入NAND or not. The end。