專利名稱:存儲(chǔ)器模塊及其寫入及讀取方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種存儲(chǔ)器模塊及其寫入及讀取方法,且特別是 有關(guān)于一種可以節(jié)省硬件架構(gòu)的存儲(chǔ)器模塊及其寫入及讀取方法。
背景技術(shù):
存儲(chǔ)器是應(yīng)用于現(xiàn)今的多種數(shù)據(jù)儲(chǔ)存的用途。其中,確保儲(chǔ)存于 存儲(chǔ)器中的數(shù)據(jù)的完整性是存儲(chǔ)器設(shè)計(jì)上很重要的一環(huán),傳統(tǒng)上通常
使用錯(cuò)誤校正碼(Error Correction Code, ECC)來達(dá)成此項(xiàng)要求。然而, 由于存儲(chǔ)器的容量越來越大,傳統(tǒng)用以檢測(cè)并校正1位錯(cuò)誤的錯(cuò)誤校 正碼,例如漢明碼,己經(jīng)不敷使用,而被可以檢測(cè)并校正多位錯(cuò)誤的 錯(cuò)誤校正碼所取代。目前最常使用的錯(cuò)誤校正碼之一是 Reed-Solomon(RS)碼。
RS碼是一種(N,K)區(qū)塊碼(block code)。亦即是,當(dāng)輸入K個(gè)符元 (symbol)的數(shù)據(jù)時(shí),此K個(gè)符元的數(shù)據(jù)會(huì)被編碼成一包括N個(gè)符元的 字碼(codeword)。其中,N個(gè)符元會(huì)包括2T=N—K個(gè)符元的同位碼 (parity code),且此些符元均屬于一有限域體(fmite field)GF(2m),且每 一個(gè)符元均具有m個(gè)位。
請(qǐng)參照?qǐng)D1,其繪示乃傳統(tǒng)存儲(chǔ)器模塊的一例的示意圖。存儲(chǔ)器模 塊lOO包括輸入緩沖器(inputbuffer)llO、分頁緩沖器(pagebuffer)120、 RS碼編碼器130以及存儲(chǔ)單元陣列140。接下來以存儲(chǔ)器模塊100接 收一筆2m^512字節(jié)的數(shù)據(jù)為例做說明,其中m二9,然并不限于此。 此筆數(shù)據(jù)會(huì)先暫存于輸入緩沖器110。若存儲(chǔ)器模塊100包括64個(gè)感 測(cè)放大器(sense amplifier),則此筆29字節(jié)的數(shù)據(jù)會(huì)以一次64個(gè)位的形 式被暫存于分頁緩沖器120中。亦即,此筆29字節(jié)的數(shù)據(jù)會(huì)被暫存為 64個(gè)字組(character),每一個(gè)字組包括64個(gè)位。
另外,考慮到29字節(jié)的數(shù)據(jù)及其欲附加的錯(cuò)誤校正碼,故對(duì)29字節(jié)的數(shù)據(jù)進(jìn)行RS碼算法時(shí),必須進(jìn)行RS碼間的域體(fidd)轉(zhuǎn)換,亦 即由有限域體GF(2"轉(zhuǎn)換到有限域體GF(2,進(jìn)行RS碼算法。故RS 碼編碼器130對(duì)應(yīng)于有限域體GF(21Q)。 RS碼編碼器130依據(jù)RS碼算 法,將29字節(jié)的數(shù)據(jù)編碼成520個(gè)符元,每一個(gè)符元包括10個(gè)位。此 520個(gè)符元包括一同位碼,同位碼包括8個(gè)符元。接著,同位碼亦以一 次64個(gè)位的形式(不足的位補(bǔ)"O"),與暫存于分頁緩沖器120中的64 個(gè)字組被寫入存儲(chǔ)單元陣列140。
承續(xù)圖l,請(qǐng)參照?qǐng)D2,其繪示乃傳統(tǒng)存儲(chǔ)器模塊的另一例的示意 圖。存儲(chǔ)器模塊200包括存儲(chǔ)單元陣列210、分頁緩沖器220、 RS碼 譯碼器230、互斥或門(exclusive or gate)240以及輸出緩沖器(output buffer)250。若存儲(chǔ)器模塊200具有64個(gè)感測(cè)放大器,現(xiàn)從存儲(chǔ)單元陣 列210輸出66個(gè)字組,66個(gè)字組包括64個(gè)字組的數(shù)據(jù)及2個(gè)字組的 同位碼,每一個(gè)字組包括64個(gè)位。64個(gè)字組的數(shù)據(jù)被暫存于分頁緩沖 器220,然后以512字節(jié)的形式輸出至互斥或門240。
存儲(chǔ)單元陣列210輸出的66個(gè)字組,去掉寫入時(shí)所補(bǔ)的"O",以 522字節(jié)的形式傳送至RS碼譯碼器230。相對(duì)應(yīng)于圖1中的RS碼編 碼器130, RS碼譯碼器230亦對(duì)應(yīng)于有限域體GF(21Q)。 RS碼譯碼器 230接收522字節(jié)之后,依據(jù)RS碼算法而得到一筆512字節(jié)的錯(cuò)誤校 正碼,此筆512字節(jié)的錯(cuò)誤校正碼被輸出至互斥或門240。互斥或門 240將512字節(jié)的數(shù)據(jù)及512字節(jié)的錯(cuò)誤校正碼中相對(duì)應(yīng)的位進(jìn)行互斥 或的運(yùn)算,而得到一筆校正后的512字節(jié)的數(shù)據(jù)。輸出緩沖器250暫 存并輸出此筆校正后的512字節(jié)的數(shù)據(jù)。
上述的存儲(chǔ)器模塊100及存儲(chǔ)器模塊200中,由于在實(shí)現(xiàn)RS碼算 法時(shí),需要進(jìn)行RS碼間的域體轉(zhuǎn)換,且是朝更高階的域體轉(zhuǎn)換,例如 由有限域體GF(2"轉(zhuǎn)換成有限域體GF(21()),故其所使用的RS碼編碼 器/RS碼譯碼器內(nèi)部的電路元件(如乘法器或除法器)會(huì)變多,RS碼編 碼器/RS碼譯碼器的面積上升,導(dǎo)致整體硬件成本增加。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種存儲(chǔ)器模塊及其寫入
6及讀取方法,通過重新排列數(shù)據(jù),故可以利用具有較簡(jiǎn)單電路的RS碼
編碼器/RS碼譯碼器讀寫數(shù)據(jù),并維持?jǐn)?shù)據(jù)的正確性。
根據(jù)本發(fā)明的第一方面,提出一種存儲(chǔ)器模塊寫入方法,包括,
首先,將一筆2m字節(jié)的數(shù)據(jù)暫存為p個(gè)字組,每一個(gè)字組包括q個(gè)位, 其中m、 p及q為正整數(shù)。接著,重排此筆2m字節(jié)的數(shù)據(jù)以得到K個(gè) 符元,每一個(gè)符元具有m個(gè)位,其中K為正整數(shù)且K小于2m。然后, 依據(jù)一Reed-Solomon(RS)碼算法,將K個(gè)符元編碼成一字碼,字碼包 括N個(gè)符元,字碼包括一同位碼,同位碼包括2T二N—K個(gè)符元,其 中N及T為正整數(shù)。之后,將p個(gè)字組及同位碼寫入一存儲(chǔ)單元陣列。 其中,此些符元均屬于一有限域體(fmite field)GF(2m)。
根據(jù)本發(fā)明的第二方面,提出一種存儲(chǔ)器模塊,包括分頁緩沖器、 編碼單元以及存儲(chǔ)單元陣列。分頁緩沖器將一筆2m字節(jié)的數(shù)據(jù)暫存為 p個(gè)字組,每個(gè)字組包括q個(gè)位,其中m, p及q為正整數(shù)。編碼單元 用以得到一同位碼。編碼單元包括第一移位緩存器、Reed-Solomon(RS) 碼編碼器及第二移位緩存器。第一移位緩存器重排此筆2m字節(jié)的數(shù)據(jù) 以得到K個(gè)符元,每一個(gè)符元具有m個(gè)位,其中K為正整數(shù)且K小 于2 RS碼編碼器,對(duì)應(yīng)于一有限域體GF(2m),將K個(gè)符元編碼成 一字碼,字碼包括N個(gè)符元,字碼包括同位碼,同位碼包括2T二N— K個(gè)符元,其中N及T為正整數(shù)。第二移位緩存器,用以重排N個(gè)符 元并轉(zhuǎn)換為一筆2m+(2Txm/8)字節(jié)之?dāng)?shù)據(jù),其中(2Txm/8)字節(jié)為同位 碼。p個(gè)字組及同位碼被寫入存儲(chǔ)單元陣列。
根據(jù)本發(fā)明的第三方面,提出一種存儲(chǔ)器模塊讀取方法,包括, 首先,從一存儲(chǔ)單元陣列讀取x個(gè)字組,每一個(gè)字組包括q個(gè)位,此x 個(gè)字組包括p個(gè)字組的數(shù)據(jù)及x—p個(gè)字組的同位碼,其中x、 p及q 為正整數(shù)。接著,將此p個(gè)字組暫存為一筆2m字節(jié)的數(shù)據(jù),其中m為 正整數(shù)。然后,將此x個(gè)字組轉(zhuǎn)換為一筆(2m+r)字節(jié)的數(shù)據(jù),且重排 此筆(2m+r)字節(jié)的數(shù)據(jù)為N個(gè)符元(symbol),每一個(gè)符元具有m個(gè)位, N個(gè)符元包括2T個(gè)符元的一同位碼,其中r、 N及T為正整數(shù)。再來, 依據(jù)一 Reed-Solomon(RS)碼算法及同位碼,將N個(gè)符元譯碼成K=N —2T個(gè)符元,其中K為正整數(shù)。然后,重排此K個(gè)符元以得到一筆2m字節(jié)的錯(cuò)誤校正碼。之后,比較此筆2m字節(jié)的數(shù)據(jù)及此筆2m字節(jié) 的錯(cuò)誤校正碼以得到一筆校正后的2m字節(jié)的數(shù)據(jù)。其中,此些符元均
屬于一有限域體(fmite field)GF(2m)。
根據(jù)本發(fā)明的第四方面,提出一種存儲(chǔ)器模塊,包括存儲(chǔ)單元陣 列、分頁緩沖器、譯碼單元以及校正單元。存儲(chǔ)單元陣列傳送x個(gè)字 組,每一個(gè)字組包括q個(gè)位,此x個(gè)字組包括p個(gè)字組的數(shù)據(jù)及x—p 個(gè)字組的同位碼。存儲(chǔ)單元陣列并將此x個(gè)字組轉(zhuǎn)換為一筆(2m+r)字 節(jié)的數(shù)據(jù),其中x、 p、 q、 m及r為正整數(shù)。分頁緩沖器用以將此p個(gè) 字組暫存為一筆2m字節(jié)的數(shù)據(jù)。譯碼單元用以得到一筆2"^字節(jié)的參考 碼。譯碼單元包括第一移位緩存器、Reed-Solomon(RS)碼譯碼器及第 二移位緩存器。第一移位緩存器用以重排此筆(2m+r)字節(jié)的數(shù)據(jù)為N 個(gè)符元,每一個(gè)符元具有m個(gè)位,N個(gè)符元包括2T個(gè)符元的一同位 碼,其中N及T為正整數(shù)。RS碼譯碼器,對(duì)應(yīng)于一有限域體GF(2"1), 用以依據(jù)同位碼將N個(gè)符元譯碼成K二N—2T個(gè)符元,其中K為正整 數(shù)。第二移位緩存器用以重排K個(gè)符元并得到此筆2m字節(jié)的參考碼。 校正單元用以依據(jù)此筆2m字節(jié)的參考碼校正此筆2m字節(jié)的數(shù)據(jù)以得 到一筆校正后的2m字節(jié)的數(shù)據(jù)。
為讓本發(fā)明之上述內(nèi)容能更明顯易懂,下文特舉一較佳實(shí)施例, 并配合所附圖式,進(jìn)一步詳細(xì)說明如下。
圖1繪示傳統(tǒng)存儲(chǔ)器模塊的一例的示意圖。
圖2繪示傳統(tǒng)存儲(chǔ)器模塊的另一例的示意圖。
圖3繪示依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊的一例的示意圖。
圖4繪示依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊寫入方法的流程圖。
圖5繪示依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊的另一例的示意圖。
圖6繪示依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊讀取方法的流程圖。
主要元件符號(hào)說明
100:存儲(chǔ)器模塊
8110:輸入緩沖器 120:分頁緩沖器
130: RS碼編碼器 140:存儲(chǔ)單元陣列 200:存儲(chǔ)器模塊 210:存儲(chǔ)單元陣列 220:分頁緩沖器
230: RS碼譯碼器 240:互斥或門 250:輸出緩沖器 300:存儲(chǔ)器模塊 310:輸入緩沖器 320:分頁緩沖器 330:編碼單元
332:第一移位緩存器
334: Reed-Solomon(RS)碼編碼器
336:第二移位緩存器
340:存儲(chǔ)單元陣列
500:存儲(chǔ)器模塊
510:存儲(chǔ)單元陣列
520:分頁緩沖器
530:譯碼單元
532:第一移位緩存器
534: Reed-Solomon(RS)碼譯碼器
536:第二移位緩存器
540:校正單元
542:互斥或門
550:輸出緩沖器
具體實(shí)施例方式
本發(fā)明是提供一種存儲(chǔ)器模塊及其寫入及讀取方法,通過將數(shù)據(jù)
重新排列,故可以利用相對(duì)應(yīng)于較低階有限域體(fmite field)的RS碼編 碼器/RS碼譯碼器寫入/讀取數(shù)據(jù),且可維持?jǐn)?shù)據(jù)的正確性。
請(qǐng)參照?qǐng)D3,其繪示乃依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊的一例 的示意圖。存儲(chǔ)器模塊300包括輸入緩沖器(input buffer)310、分頁緩 沖器(pagebuffer)320、編碼單元330以及存儲(chǔ)單元陣列340。編碼單元 330包括第一移位緩存器332、 Reed-Solomon(RS)碼編碼器334及第二 移位緩存器336。接下來以存儲(chǔ)器模塊300接收一筆2m=512字節(jié)的數(shù) 據(jù)為例做說明,其中rn^9,然并不限于此。
輸入緩沖器310接收并暫存一筆29 = 512字節(jié)的數(shù)據(jù)。若存儲(chǔ)器模 塊300包括64個(gè)感測(cè)放大器(sense amplifier),則此筆29字節(jié)的數(shù)據(jù)會(huì) 以一次64個(gè)位的形式被暫存于分頁緩沖器320中。亦即,此筆29字節(jié) 的數(shù)據(jù)會(huì)被暫存為64個(gè)字組(character),每一個(gè)字組包括64個(gè)位。
編碼單元330用以得到一同位碼。首先,第一移位緩存器330會(huì) 重排此筆29字節(jié)的數(shù)據(jù)以得到456個(gè)符元,每一個(gè)符元具有9個(gè)位, 其中最后一個(gè)符元不足之位補(bǔ)"O"。因?yàn)?56小于29,故即使考慮到欲 附加的錯(cuò)誤校正碼,于進(jìn)行RS碼算法時(shí)仍不須進(jìn)行RS碼間的域體 (fidd)轉(zhuǎn)換,亦即可以維持于有限域體GF(2"進(jìn)行RS碼算法。第一移 位緩存器330用以使得RS碼編碼器334所接收的符元個(gè)數(shù)減少,而得 以實(shí)質(zhì)上進(jìn)行RS碼算法降階的動(dòng)作。
RS碼編碼器334對(duì)應(yīng)于有限域體GF(29),用以將456個(gè)符元編碼 成一字碼(codeword),此字碼包括464個(gè)符元。此字碼中包括同位碼 (parity code),同位碼占有8 = 464—456個(gè)符元,最多可以校正4個(gè)符 元(共36個(gè)位)的錯(cuò)誤。第二移位緩存器336重排此464個(gè)符元,以將 其轉(zhuǎn)換為一筆29+9 = 521字節(jié)的數(shù)據(jù),其中9字節(jié)為同位碼。編碼單 元330輸出此9字節(jié)的同位碼。此后,此9字節(jié)的同位碼被轉(zhuǎn)換為2 個(gè)字組,最后一個(gè)字組不足之位補(bǔ)"O"。此2個(gè)字組的同位碼與分頁緩 沖器320所輸出的64個(gè)字組的數(shù)據(jù)一起被寫入存儲(chǔ)單元陣列340。
請(qǐng)參照?qǐng)D4,其繪示乃依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊寫入方法的流程圖。首先,于步驟410中,接收并暫存一筆2m字節(jié)的數(shù)據(jù), 其中m為正整數(shù)。接著,于步驟420中,將此筆2m字節(jié)的數(shù)據(jù)暫存為 p個(gè)字組,每一個(gè)字組包括q個(gè)位,其中p及q為正整數(shù)。同時(shí),于步 驟430中,重排此筆2m字節(jié)的數(shù)據(jù)以得到K個(gè)符元,每一個(gè)符元具有 m個(gè)位,其中K為正整數(shù)且K小于2"1。此K個(gè)符元屬于一有限域體 GF(2m)。步驟430實(shí)質(zhì)上進(jìn)行RS碼算法降階的動(dòng)作。
接著,于步驟440中,依據(jù)一RS碼算法,將K個(gè)符元編碼成一 字碼,此字碼包括N個(gè)符元,此字碼包括一同位碼,同位碼包括2T二 N—K個(gè)符元,其中N及T為正整數(shù)。2T個(gè)符元的同位碼可以校正最 多T個(gè)符元的錯(cuò)誤。此N個(gè)符元亦屬于有限域體GF(2"1)。之后,于步 驟450中,將p個(gè)字組及同位碼寫入一存儲(chǔ)單元陣列。其中,2T個(gè) 符元的同位碼系被轉(zhuǎn)換為[2Txm/q] + l個(gè)字組,然后才被寫入存儲(chǔ)單元 陣列。
相較于傳統(tǒng)的存儲(chǔ)器模塊100,上述的存儲(chǔ)器模塊300及其寫入方 法,是利用第一移位緩存器332及第二移位緩存器336將數(shù)據(jù)重新排 列,故于進(jìn)行RS碼算法時(shí)仍不須進(jìn)行RS碼間的域體轉(zhuǎn)換,可以維持 于原有的有限域體進(jìn)行RS碼算法,并維持?jǐn)?shù)據(jù)的正確性。故編碼單元 330相較于RS碼編碼器130雖然多了第一移位緩存器332及第二移位 緩存器336,但RS碼編碼器334與RS碼編碼器130相較,內(nèi)部的電 路元件(如占大量面積的乘法器或除法器)較少,可以節(jié)省較多面積,降 低整體硬件成本。此外,同位碼由10個(gè)字節(jié)減少至9個(gè)字節(jié),亦即每 一個(gè)分頁的數(shù)據(jù)量可以多節(jié)省8個(gè)位。
請(qǐng)參照?qǐng)D5,其繪示乃依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊的另一 例的示意圖。存儲(chǔ)器模塊500包括存儲(chǔ)單元陣列510、分頁緩沖器520、 譯碼單元530、校正單元540以及輸出緩沖器(output buffer)550。譯碼 單元530包括第一移位緩存器532、 RS碼譯碼器534及第二移位緩存 器536。接下來承續(xù)圖3做說明,然并不限于此。
假若存儲(chǔ)器模塊500包括64個(gè)感測(cè)放大器,存儲(chǔ)單元陣列510傳 送66個(gè)字組,每一個(gè)字組包括64個(gè)位,此66個(gè)字組包括64個(gè)字組 的數(shù)據(jù)及2個(gè)字組的同位碼。除掉之前于同位碼最后一個(gè)字組所補(bǔ)的"0",存儲(chǔ)單元陣列510并將66個(gè)字組轉(zhuǎn)換為一筆(29+10)=522字 節(jié)的數(shù)據(jù)。分頁緩沖器520用以將64個(gè)字組的數(shù)據(jù)暫存為一筆29字 節(jié)的數(shù)據(jù)。
譯碼單元530用以得到一筆29字節(jié)的參考碼。首先,第一移位緩 存器532會(huì)重排此筆522字節(jié)的數(shù)據(jù)為464個(gè)符元,每一個(gè)符元具有9 個(gè)位,464個(gè)符元包括8個(gè)符元的同位碼,最多可以校正4個(gè)符元(共 36個(gè)位)的錯(cuò)誤。因?yàn)?56小于29,故于進(jìn)行RS碼算法時(shí)可適用于有 限域體GF(29),而不會(huì)升階至有限域體GF(21Q)。
RS碼譯碼器534對(duì)應(yīng)于有限域體GF(29),用以依據(jù)8個(gè)符元的同 位碼將464個(gè)符元譯碼成456=464 — 8個(gè)符元。除掉之前于最后一個(gè) 符元所補(bǔ)的"0",第二移位緩存器536重排此456個(gè)符元并得到29字節(jié) 的參考碼。第二移位緩存器536實(shí)質(zhì)上是重排此456個(gè)符元并得知發(fā) 生錯(cuò)誤的數(shù)據(jù)的地址,然后據(jù)以產(chǎn)生一錯(cuò)誤方程式。第二移位緩存器 536依據(jù)此錯(cuò)誤方程式,以一鏈?zhǔn)剿阉鞯姆绞捷敵龃?9字節(jié)的參考碼。 其中,若參考碼中的位為"0",則代表分頁緩沖器520所輸出的數(shù)據(jù)中 相對(duì)應(yīng)的位為正確,若參考碼中的位為"l",則代表分頁緩沖器520所 輸出的數(shù)據(jù)中相對(duì)應(yīng)的位為錯(cuò)誤。
校正單元540用以依據(jù)譯碼器530所輸出的2"^字節(jié)的參考碼校正 分頁緩沖器520所輸出的2m字節(jié)的數(shù)據(jù)以得到一筆校正后的2m字節(jié)的 數(shù)據(jù)。校正單元540實(shí)質(zhì)上包括一互斥或門(exclusive or gate)542,用
以將2m字節(jié)的數(shù)據(jù)及2"^字節(jié)的參考碼中相對(duì)應(yīng)的位進(jìn)行互斥或的運(yùn)
算,以得到校正后的2m字節(jié)的數(shù)據(jù)。輸出緩沖器550輸出校正后的2m 字節(jié)的數(shù)據(jù)。輸出緩沖器550實(shí)質(zhì)上用以推動(dòng)后級(jí)電路。
請(qǐng)參照?qǐng)D6,其繪示乃依照本發(fā)明較佳實(shí)施例的存儲(chǔ)器模塊讀取方 法的流程圖。首先,于步驟610中,從一存儲(chǔ)單元陣列讀取x個(gè)字組, 每一個(gè)字組包括q個(gè)位,此x個(gè)字組包括p個(gè)字組的數(shù)據(jù)及x—p個(gè)字 組的同位碼,其中x、 p及q為正整數(shù)。然后,于步驟620中,將此p 個(gè)字組暫存為一筆2m字節(jié)的數(shù)據(jù),其中m為正整數(shù)。
同時(shí),于步驟630中,將此x個(gè)字組轉(zhuǎn)換為一筆(2m+r)字節(jié)的數(shù) 據(jù),且重排此筆(2m+r)字節(jié)的數(shù)據(jù)為N個(gè)符元(symbo1),每一個(gè)符元具有m個(gè)位,N個(gè)符元包括2T個(gè)符元的一同位碼,其中r、 N及T為正 整數(shù)。此N個(gè)符元是屬于一有限域體GF(2111)。接著,于步驟640,依 據(jù)RS碼算法及同位碼,將N個(gè)符元譯碼成K二N—2T個(gè)符元,其中 K為正整數(shù)且K小于2m。此K個(gè)符元亦屬于有限域體GF(2m)。
再來,于步驟650中,重排此K個(gè)符元并得到一筆2m字節(jié)的參考 碼。然后,于步驟660中,依據(jù)2m字節(jié)的參考碼校正2"^字節(jié)的數(shù)據(jù)以
得到一筆校正后的2m字節(jié)的數(shù)據(jù)。其中,2m字節(jié)的數(shù)據(jù)及2m字節(jié)的 參考碼中相對(duì)應(yīng)的位是進(jìn)行互斥或的運(yùn)算,以得到校正后的2"^字節(jié)的
數(shù)據(jù)。之后,于步驟670中,輸出校正后的2m字節(jié)的數(shù)據(jù)。
相較于傳統(tǒng)的存儲(chǔ)器模塊200,上述的存儲(chǔ)器模塊500及其讀取方 法,是利用第一移位緩存器532及第二移位緩存器536將數(shù)據(jù)重新排 列,故于進(jìn)行RS碼算法時(shí)仍不須進(jìn)行RS碼間的域體轉(zhuǎn)換,可以維持 于原有的有限域體進(jìn)行RS碼算法,并維持?jǐn)?shù)據(jù)的正確性。故譯碼單元 530相較于RS碼譯碼器230雖然多了第一移位緩存器532及第二移位 緩存器536,但RS碼譯碼器534與RS碼譯碼器230相較,內(nèi)部的電 路元件(如占大量面積的乘法器或除法器)較少,可以節(jié)省較多面積,降 低整體硬件成本。此外,同位碼由10個(gè)字節(jié)減少至9個(gè)字節(jié),亦即每 一個(gè)分頁的數(shù)據(jù)量可以多節(jié)省8個(gè)位。
本發(fā)明上述實(shí)施例所揭露的存儲(chǔ)器模塊及其寫入及讀取方法,是 通過將數(shù)據(jù)重新排列,于進(jìn)行RS碼算法時(shí)不須進(jìn)行RS碼間的域體轉(zhuǎn) 換,故可以利用相對(duì)應(yīng)于較低階有限域體(fmite fidd)的RS碼編碼器 /RS碼譯碼器進(jìn)行寫入/讀取數(shù)據(jù)的動(dòng)作,節(jié)省較多面積,降低整體硬 件成本且仍可維持?jǐn)?shù)據(jù)的正確性。
綜上所述,雖然本發(fā)明己以一較佳實(shí)施例揭露如上,然其并非用 以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本 發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤飾。因此,本發(fā)明的保 護(hù)范圍當(dāng)視權(quán)利要求書所界定的范圍為準(zhǔn)。
1權(quán)利要求
1、一種存儲(chǔ)器模塊寫入方法,其特征在于,該方法包括將一筆2m字節(jié)的數(shù)據(jù)暫存為p個(gè)字組,每一個(gè)字組包括q個(gè)位,其中m、p及q為正整數(shù);重排該筆2m字節(jié)的數(shù)據(jù)以得到K個(gè)符元,每一個(gè)符元具有m個(gè)位,其中K為正整數(shù)且K小于2m;依據(jù)一Reed-Solomon碼算法,將該K個(gè)符元編碼成一字碼,該字碼包括N個(gè)符元,該字碼包括一同位碼,該同位碼包括2T=N—K個(gè)符元,其中N及T為正整數(shù);以及將該p個(gè)字組及該同位碼寫入一存儲(chǔ)單元陣列;其中,該些符元均屬于一有限域體GF(2m)。
2、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器模塊寫入方法,其特征在于,該 2T個(gè)符元的同位碼被轉(zhuǎn)換為[2Txm/q]+l個(gè)字組,然后被寫入該存儲(chǔ) 單元陣列。
3、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器模塊寫入方法,其特征在于,該 方法進(jìn)一步包括接收并暫存該筆2m字節(jié)的數(shù)據(jù)。
4、 一種存儲(chǔ)器模塊,其特征在于,該模塊包括 一分頁緩沖器,用以將一筆2m字節(jié)的數(shù)據(jù)暫存為p個(gè)字組,每個(gè)字組包括q個(gè)位,其中m, p及q為正整數(shù);一編碼單元,用以得到一同位碼,該編碼單元包括一第一移位緩存器,用以重排該筆2m字節(jié)的數(shù)據(jù)以得到K個(gè)符元,每一個(gè)符元具有m個(gè)位,其中K為正整數(shù)且K小于2"";一 Reed-Solomon碼編碼器,對(duì)應(yīng)于一有限域體GF(2"1),用以將 該K個(gè)符元編碼成一字碼,該字碼包括N個(gè)符元,該字碼包括該同位 碼,該同位碼包括2T二N—K個(gè)符元,其中N及T為正整數(shù);及一第二移位緩存器,用以重排該N個(gè)符元并轉(zhuǎn)換為一筆2m+ (2Txm/8)字節(jié)的數(shù)據(jù),其中(2Txm/8)字節(jié)為該同位碼;以及一存儲(chǔ)單元陣列,該p個(gè)字組及該同位碼被寫入該存儲(chǔ)單元陣列。
5、 根據(jù)權(quán)利要求4所述的存儲(chǔ)器模塊,其特征在于,(2Txm/8)字 節(jié)的同位碼被轉(zhuǎn)換為[2Txm/q] + l個(gè)字組并寫入該存儲(chǔ)單元陣列。
6、 根據(jù)權(quán)利要求4所述的存儲(chǔ)器模塊,其特征在于,該模塊進(jìn)一 步包括q個(gè)感測(cè)放大器,該分頁緩沖器相對(duì)應(yīng)于該q個(gè)感測(cè)放大器, 將該筆2m字節(jié)的數(shù)據(jù)暫存為p個(gè)字組,每一個(gè)字組包括q個(gè)位。
7、 根據(jù)權(quán)利要求4所述的存儲(chǔ)器模塊,其特征在于,該模塊進(jìn)一 步包括一輸入緩沖器,用以接收并暫存該筆2m字節(jié)的數(shù)據(jù)。
8、 一種存儲(chǔ)器模塊讀取方法,其特征在于,該方法包括 從一存儲(chǔ)單元陣列讀取x個(gè)字組,每一個(gè)字組包括q個(gè)位,該x個(gè)字組包括p個(gè)字組的數(shù)據(jù)及x—p個(gè)字組的同位碼,其中x、 p及q 為正整數(shù);將該p個(gè)字組暫存為一筆2m字節(jié)的數(shù)據(jù),其中m為正整數(shù); 將該x個(gè)字組轉(zhuǎn)換為一筆(2m+r)字節(jié)的數(shù)據(jù),且重排該筆(2m+r)字節(jié)的數(shù)據(jù)為N個(gè)符元,每一個(gè)符元具有m個(gè)位,N個(gè)符元包括2T個(gè)符元的一同位碼,其中r、 N及T為正整數(shù);依據(jù)一 Reed-Solomon碼算法及該同位碼,將該N個(gè)符元譯碼成K=N—2T個(gè)符元,其中K為正整數(shù)且K小于2^重排該K個(gè)符元并得到一筆2m字節(jié)的參考碼;以及依據(jù)該筆2m字節(jié)的參考碼校正該筆2m字節(jié)的數(shù)據(jù)以得到一筆校正后的2m字節(jié)的數(shù)據(jù);其中,該些符元均屬于一有限域體GF(2m)。
9、 根據(jù)權(quán)利要求8所述的存儲(chǔ)器模塊讀取方法,其特征在于,將該筆2m字節(jié)的數(shù)據(jù)及該筆2m字節(jié)的參考碼中相對(duì)應(yīng)的位進(jìn)行互斥或 的運(yùn)算,以得到該筆校正后的2m字節(jié)的數(shù)據(jù)。
10、 根據(jù)權(quán)利要求8所述的存儲(chǔ)器模塊讀取方法,其特征在于,該方法進(jìn)一步包括輸出該筆校正后的2m字節(jié)的數(shù)據(jù)。
11、 一種存儲(chǔ)器模塊,其特征在于,該模塊包括 一存儲(chǔ)單元陣列,用以傳送x個(gè)字組,每一個(gè)字組包括q個(gè)位,該x個(gè)字組包括p個(gè)字組的數(shù)據(jù)及x—p個(gè)字組的同位碼,該存儲(chǔ)單元陣列并將該x個(gè)字組轉(zhuǎn)換為一筆(2"H"iO字節(jié)的數(shù)據(jù),其中x、 p、 q、 m 及r為正整數(shù);一分頁緩沖器,用以將該P(yáng)個(gè)字組暫存為一筆2m字節(jié)的數(shù)據(jù); 一譯碼單元,用以得到一筆2m字節(jié)的參考碼,該譯碼單元包括一第一移位緩存器,用以重排該筆(2m+r)字節(jié)的數(shù)據(jù)為N個(gè)符 元,每一個(gè)符元具有m個(gè)位,N個(gè)符元包括2T個(gè)符元的一同位碼, 其中N及T為正整數(shù);一 Reed-Solomon碼譯碼器,對(duì)應(yīng)于一有限域體GF(2m),用以依 據(jù)該同位碼將該N個(gè)符元譯碼成K二N—2T個(gè)符元,其中K為正整數(shù) 且K小于2m;及一第二移位緩存器,用以重排該K個(gè)符元并得到該筆2"字節(jié)的參考碼;以及一校正單元,用以依據(jù)該筆2m字節(jié)的參考碼校正該筆2m字節(jié)的數(shù)據(jù)以得到一筆校正后的2m字節(jié)的數(shù)據(jù)。
12、 根據(jù)權(quán)利要求ll所述的存儲(chǔ)器模塊,其特征在于,該校正單元包括一互斥或門,用以將該筆2m字節(jié)的數(shù)據(jù)及該筆2m字節(jié)的參考碼 中相對(duì)應(yīng)的位進(jìn)行互斥或的運(yùn)算,以得到該筆校正后的2m字節(jié)的數(shù)據(jù)。
13、 根據(jù)權(quán)利要求ll所述的存儲(chǔ)器模塊,其特征在于,該模塊進(jìn) 一步包括q個(gè)感測(cè)放大器,該存儲(chǔ)單元陣列相對(duì)應(yīng)于該q個(gè)感測(cè)放大 器,傳送該x個(gè)字組,每一個(gè)字組包括q個(gè)位。
14、 根據(jù)權(quán)利要求ll所述的存儲(chǔ)器模塊,其特征在于,該模塊進(jìn) 一步包括一輸出緩沖器,用以輸出該筆校正后的2m字節(jié)的數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種存儲(chǔ)器模塊寫入方法,包括,首先,將一筆2<sup>m</sup>字節(jié)的數(shù)據(jù)暫存為p個(gè)字組,每一個(gè)字組包括q個(gè)位,其中m、p及q為正整數(shù)。接著,重排此筆2<sup>m</sup>字節(jié)的數(shù)據(jù)以得到K個(gè)符元,每一個(gè)符元具有m個(gè)位,其中K為正整數(shù)且K小于2<sup>m</sup>。然后,依據(jù)一Reed-Solomon(RS)碼算法,將K個(gè)符元編碼成一字碼,字碼包括N個(gè)符元,字碼包括一同位碼,同位碼包括2T=N-K個(gè)符元,其中N及T為正整數(shù)。之后,將p個(gè)字組及同位碼寫入一存儲(chǔ)單元陣列。其中,此些符元均屬于一有限域體(finite field)GF(2<sup>m</sup>)。
文檔編號(hào)G11C29/40GK101447234SQ20081008127
公開日2009年6月3日 申請(qǐng)日期2008年2月26日 優(yōu)先權(quán)日2007年11月27日
發(fā)明者黃世昌 申請(qǐng)人:旺宏電子股份有限公司