單元(未示出)、只讀存儲(chǔ)器 (未示出)及隨機(jī)存取存儲(chǔ)器(未示出)。特別是,此只讀存儲(chǔ)器具有開機(jī)碼(boot code), 并且當(dāng)存儲(chǔ)器控制電路單元104被致能時(shí),微處理器單元會(huì)先執(zhí)行此開機(jī)碼來將儲(chǔ)存于可 復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中的控制指令載入至存儲(chǔ)器管理電路202的隨機(jī)存取存儲(chǔ) 器中。之后,微處理器單元會(huì)運(yùn)轉(zhuǎn)此些控制指令以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。
[0082] 此外,在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器管理電路202的控制指令也可以一硬 件型式來實(shí)作。例如,存儲(chǔ)器管理電路202包括微控制器、存儲(chǔ)器管理單元、存儲(chǔ)器寫入單 元、存儲(chǔ)器讀取單元、存儲(chǔ)器抹除單元與數(shù)據(jù)處理單元。存儲(chǔ)器管理單元、存儲(chǔ)器寫入單元、 存儲(chǔ)器讀取單元、存儲(chǔ)器抹除單元與數(shù)據(jù)處理單元是電性連接至微控制器。其中,存儲(chǔ)器管 理單元用以管理可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的實(shí)體抹除單元;存儲(chǔ)器寫入單元用以 對(duì)可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106下達(dá)寫入指令以將數(shù)據(jù)寫入至可復(fù)寫式非揮發(fā)性存 儲(chǔ)器模塊106中;存儲(chǔ)器讀取單元用以對(duì)可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106下達(dá)讀取指令 以從可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中讀取數(shù)據(jù);存儲(chǔ)器抹除單元用以對(duì)可復(fù)寫式非揮 發(fā)性存儲(chǔ)器模塊106下達(dá)抹除指令以將數(shù)據(jù)從可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中抹除; 而數(shù)據(jù)處理單元用以處理欲寫入至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的數(shù)據(jù)以及從可復(fù) 寫式非揮發(fā)性存儲(chǔ)器模塊106中讀取的數(shù)據(jù)。
[0083] 主機(jī)接口 204是電性連接至存儲(chǔ)器管理電路202并且用以接收與識(shí)別主機(jī)系統(tǒng) 1000所傳送的指令與數(shù)據(jù)。也就是說,主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)會(huì)通過主機(jī)接口 204來傳送至存儲(chǔ)器管理電路202。在本范例實(shí)施例中,主機(jī)接口 204是相容于SATA標(biāo)準(zhǔn)。 然而,必須了解的是本發(fā)明不限于此,主機(jī)接口 204也可以是相容于PATA標(biāo)準(zhǔn)、IEEE1394 標(biāo)準(zhǔn)、PCI Express標(biāo)準(zhǔn)、USB標(biāo)準(zhǔn)、SD標(biāo)準(zhǔn)、UHS-I標(biāo)準(zhǔn)、UHS-II標(biāo)準(zhǔn)、MS標(biāo)準(zhǔn)、MMC標(biāo)準(zhǔn)、 eMMC標(biāo)準(zhǔn)、UFS標(biāo)準(zhǔn)、CF標(biāo)準(zhǔn)、IDE標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。
[0084] 存儲(chǔ)器接口 206是電性連接至存儲(chǔ)器管理電路202并且用以存取可復(fù)寫式非揮發(fā) 性存儲(chǔ)器模塊106。也就是說,欲寫入至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的數(shù)據(jù)會(huì)經(jīng)由存 儲(chǔ)器接口 206轉(zhuǎn)換為可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106所能接受的格式。
[0085] 在本發(fā)明一范例實(shí)施例中,存儲(chǔ)器控制電路單元104還包括緩沖存儲(chǔ)器252、電源 管理電路254與錯(cuò)誤校驗(yàn)與校正電路256。
[0086] 緩沖存儲(chǔ)器252是電性連接至存儲(chǔ)器管理電路202并且用以暫存來自于主機(jī)系統(tǒng) 1000的數(shù)據(jù)與指令或來自于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的數(shù)據(jù)。
[0087] 電源管理電路254是電性連接至存儲(chǔ)器管理電路202并且用以控制存儲(chǔ)器儲(chǔ)存裝 置100的電源。
[0088] 錯(cuò)誤校驗(yàn)與校正電路256是電性連接至存儲(chǔ)器管理電路202并且用以確保數(shù)據(jù)的 正確性。具體來說,當(dāng)存儲(chǔ)器管理電路202從主機(jī)系統(tǒng)1000中接收到寫入指令時(shí),錯(cuò)誤校 驗(yàn)與校正電路256會(huì)為對(duì)應(yīng)此寫入指令的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的錯(cuò)誤校正碼(error correcting code,簡(jiǎn)稱ECC),并且存儲(chǔ)器管理電路202會(huì)將數(shù)據(jù)與對(duì)應(yīng)的錯(cuò)誤校正碼寫入至可復(fù)寫式 非揮發(fā)性存儲(chǔ)器模塊106中。之后,當(dāng)存儲(chǔ)器管理電路202從可復(fù)寫式非揮發(fā)性存儲(chǔ)器模 塊106中讀取數(shù)據(jù)時(shí)也會(huì)讀取此數(shù)據(jù)對(duì)應(yīng)的錯(cuò)誤校正碼,并且錯(cuò)誤校驗(yàn)與校正電路256會(huì) 依據(jù)此錯(cuò)誤校正碼來校驗(yàn)或校正數(shù)據(jù)中的錯(cuò)誤位元。在此范例實(shí)施例中,錯(cuò)誤校驗(yàn)與校正 電路256所使用的是奇偶校驗(yàn)碼。此奇偶校驗(yàn)碼可以是任意一個(gè)會(huì)用到奇偶位元(parity bit)的錯(cuò)誤校正碼,例如為漢明(hamming)碼、低密度奇偶校驗(yàn)碼(low density parity code,簡(jiǎn)稱LDPC),或者是其他會(huì)使用奇偶校驗(yàn)矩陣的錯(cuò)誤校正碼。以下將舉例詳細(xì)說明編 碼與解碼的過程。
[0089] 錯(cuò)誤校驗(yàn)與校正電路256所使用的奇偶校驗(yàn)碼是對(duì)應(yīng)至一奇偶校驗(yàn)矩陣,其是用 以判斷一個(gè)碼字是否為有效的碼字。具體來說,以下將奇偶校驗(yàn)矩陣標(biāo)記為矩陣H,并且一 碼字標(biāo)記為CW。依照以下方程序(1),若奇偶校驗(yàn)矩陣H與碼字CW的相乘是零向量,表示 碼字CW為有效的碼字。值得注意的是,本范例實(shí)施例中所指的矩陣相乘與矩陣相加都是模 2 (mod2)的矩陣相乘與矩陣相加。
[0090] HXCWt=O-(I)
[0091] 其中矩陣H的維度是m-乘-n(m-by-n),碼字CW的維度是1-乘-n。m與η為正 整數(shù)。碼字CW中包括了信息位元與奇偶位元,即碼字CW可以表示成[Μ Ρ],其中向量M是 由信息位元所組成,向量P是由奇偶位元所組成。向量M的維度是1-乘-(n-k),而向量P 的維度是1-乘_k,其中k為正整數(shù)。換言之,碼字CW中具有η位元,其中的信息位元的長(zhǎng) 度為(n-k)位元,并且奇偶位元的長(zhǎng)度是k位元。類似地,奇偶校驗(yàn)矩陣H中會(huì)包括一信息 部分矩陣(標(biāo)記為H 1)與一奇偶部份矩陣(標(biāo)記為H2),即奇偶校驗(yàn)矩陣H可以表示為[H1 H2]。其中信息部分矩陣H1的維度是m-乘-(n-k),奇偶部分矩陣H2的維度是m-乘-k。因 此,方程序(1)可以改寫為以下方程序(2),藉此可以根據(jù)向量M來計(jì)算出向量P。
[0092] H1XM^H2XPt=O
[0093] //? xP7 =//|ΧΜΓ
[0094] 3 /j/ =//2lXWlXMy . (2)
[0095] 由于方程序(2)中需要執(zhí)行反矩陣的運(yùn)算,因此一般來說會(huì)用一個(gè)產(chǎn)生矩陣(標(biāo) 記為矩陣G)來代替,使得以下方程序(3)會(huì)被滿足。
[0096] M X G= [MP]…(3)
[0097] 其中產(chǎn)生矩陣G的維度是(η-k)-乘-η。然而,本領(lǐng)域具有通常知識(shí)者應(yīng)可根據(jù)奇 偶校驗(yàn)矩陣H來求得產(chǎn)生矩陣G,在此并不贅述。
[0098] 圖4是根據(jù)一范例實(shí)施例示出編碼與解碼的示意圖。
[0099] 請(qǐng)參照?qǐng)D4,錯(cuò)誤校驗(yàn)與校正電路256包括編碼電路410與解碼電路420。在此假 設(shè)存儲(chǔ)器管理電路202要將多個(gè)信息位元(也稱第二信息位元)寫入至可復(fù)寫式非揮發(fā)性 存儲(chǔ)器模塊106中。編碼電路410會(huì)將這些信息位元所形成的向量M與產(chǎn)生矩陣G相乘以 產(chǎn)生碼字CW (如上述方程序(3)),接下來存儲(chǔ)器管理電路202會(huì)將碼字CW寫入至可復(fù)寫式 非揮發(fā)性存儲(chǔ)器模塊106中。
[0100] 接下來在某一時(shí)間點(diǎn),存儲(chǔ)器管理電路202從主機(jī)系統(tǒng)1000接收到一個(gè)讀取指 令,其是要讀取碼字CW所屬的邏輯位址。在接收到此讀取指令以后,存儲(chǔ)器管理電路202 會(huì)從可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中讀取到碼字CW 1。注意的是,碼字CW1中可能有一 或多個(gè)錯(cuò)誤位元,因此碼字CW1與碼字CW可能是相同或是不相同。碼字CW 1中同樣包括了 信息位元(也稱第一信息位元)與奇偶位元(也稱第一奇偶位元),其中信息位元組成向量 M1,而奇偶位元組成向量P1。向量M1會(huì)被傳送給編碼電路410,并且編碼電路410會(huì)對(duì)向量 M1執(zhí)行屬于奇偶編碼的編碼程序以產(chǎn)生多個(gè)奇偶位元(也稱第二奇偶位元,組成向量P2)。 解碼電路420會(huì)接收向量P 1與向量P2,并且根據(jù)向量P1與向量P2產(chǎn)生對(duì)應(yīng)至碼字CW 1的多 個(gè)校驗(yàn)子(syndrome)。這些校驗(yàn)子是用以判斷碼字CW1是否為有效的碼字,若每一個(gè)校驗(yàn) 子都為〇,則表示碼字CW 1為有效的碼字。特別的是,這些校驗(yàn)子等同于以下方程序(4)所 產(chǎn)生的校驗(yàn)子(組成向量S)。
[0101] HXCWIt=S …⑷
[0102] 向量S的維度是m-乘-1,即這些校驗(yàn)子的長(zhǎng)度是m位元。本范例實(shí)施例是將方程 序(4)的運(yùn)算簡(jiǎn)化,使得編碼電路410也會(huì)在產(chǎn)生校驗(yàn)子的解碼程序中被使用,藉此可以減 少解碼電路420的復(fù)雜度。
[0103] 舉例來說,編碼電路410是將向量M1與產(chǎn)生矩陣G相乘以產(chǎn)生向量P2,使得向量 M1與向量P2會(huì)組成有效的碼字。以另一個(gè)角度來說,編碼電路410產(chǎn)生向量匕的運(yùn)算可表 示為以下方程序(5)。換言之,奇偶校驗(yàn)矩陣H與向量[M 1P2]的相乘會(huì)是零向量。
[0104] M1XG=LM1 P2], s. t. HX [M1 P2Jt=O- (5)
[0105] 更進(jìn)一步來說,若將奇偶校驗(yàn)矩陣H分為信息部分矩陣H1與奇偶部份矩陣4,則上 述方程序(5)可改寫為以下方程序(6),并且上述方程序(4)可以改寫為以下方程序(7)。
[0106] HX [M1 P2Jt=O
[0107] //, X M; + U2 x P; = 0
[0108] H1 X Mf = Il2 x /f (6)
[0109] S=HxcwJ=HX [M1 PJt=H1XMAH2XP1tH. (7)
[0110] 若把方程序(6)代入方程序(7),便可得到以下方程序(8)。
[0111] S=H2 X P2T+H2 X Pj=H2 X (P2+P)τ…(8)
[0112] 換言之,解碼電路420是將第一奇偶位元所形成的向量P1與第二奇偶位