TWI392239B - Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism - Google Patents

Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism Download PDF

Info

Publication number
TWI392239B
TWI392239B TW98125006A TW98125006A TWI392239B TW I392239 B TWI392239 B TW I392239B TW 98125006 A TW98125006 A TW 98125006A TW 98125006 A TW98125006 A TW 98125006A TW I392239 B TWI392239 B TW I392239B
Authority
TW
Taiwan
Prior art keywords
symbol
error correction
codeword
symbols
signal
Prior art date
Application number
TW98125006A
Other languages
English (en)
Other versions
TW201105047A (en
Original Assignee
Univ Ishou
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Ishou filed Critical Univ Ishou
Priority to TW98125006A priority Critical patent/TWI392239B/zh
Publication of TW201105047A publication Critical patent/TW201105047A/zh
Application granted granted Critical
Publication of TWI392239B publication Critical patent/TWI392239B/zh

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

具有李德所羅門糾錯機制的編碼器、解碼器及存取系統
本發明是有關於一種存取技術,特別是指一種具有李德所羅門(RS,Reed-Solomon)糾錯機制的編碼器、解碼器及存取系統。
隨著電腦應用的發展,為了高速存取龐大的資料量,現有處理器平行化地將資料分散給數顆磁碟同時處理,以縮短等待存取的時間。而這樣的多磁碟組合,即為「磁碟陣列(RAID,Redundant Array of Independent Disks)」。
參閱圖1,習知一種RAID架構8包含一控制器81和m個磁碟82。當處理器9發出(m-1)筆資料,控制器81會將每一資料寫到其中一個磁碟82,並且會根據同位檢測(parity check)方式計算出對應這些資料的一檢驗資訊,以寫到剩下的那一個磁碟82。
等到處理器9要取回這(m-1)筆資料時,控制器81才又讀出存放在該等磁碟82的資料與檢驗資訊,並經過適當的互斥或(XOR)邏輯判斷來還原,使逼近原先處理器9發出的(m-1)筆資料。但是,同位檢測的錯誤更正能力不佳,在多顆磁碟82失效時無法做有效還原。
而習知另一種RAID架構則是選用Even-Odd碼來加強錯誤更正能力,其必須在一完整矩陣的基礎上來編解碼,且矩陣大小會隨著磁碟數量的平方遽增。因而,這個架構的暫存(buffer)空間需求大,延遲(latency)時間也長,反倒忽略了高速系統強調的即時性。
此外,在這些資料與檢驗資訊存到該等磁碟82後,處理器9可能會想要更改其中一筆資料。這時,控制器81不僅需要從該等磁碟82讀出這些資料,還要結合該筆更改資料來重新計算出一檢驗資訊,最後再將該筆更改資料和重算的檢驗資訊填回到對應磁碟82。也就是所謂的零星更新(small write),如果處理器9頻繁地要求零星更新,那麼RAID架構8的存取速度勢必大打折扣。
因此,本發明之目的,即在提供一種具有李德所羅門(RS)糾錯機制的編碼器、解碼器及存取系統,可以在較小暫存空間且較短延遲時間的前提下,實現高度的錯誤更正能力並提升存取速度。
於是,本發明具有李德所羅門(RS)糾錯機制的存取系統,適用於接收來自一資料處理器的一第一處理信號,該存取系統包含:一存取控制器,電連接一記憶模組,以讀寫該記憶模組;一編碼器,根據該第一處理信號進行RS編碼,來得到一已編碼碼字,以供該存取控制器將該已編碼碼字寫到該記憶模組;及一解碼器,接收一對應於該已編碼碼字的待解碼碼字,且該待解碼碼字是由該存取控制器從該記憶模組所讀出,該解碼器會根據該待解碼碼字進行匹配於該編碼器的RS解碼,來得到一對應該第一處理信號的第二處理信號,以發送給該資料處理器。
而本發明具有李德所羅門(RS)糾錯機制的編碼器,適用於接收一具有複數符元的第一處理信號,且藉由一存取控制器將一已編碼碼字寫到一記憶模組;該編碼器包括一多工器,以及分別與該多工器電連接的一碼字編碼單元和一零星編碼單元,且該多工器會接收一顯示正常模式或零星更新模式的模式命令;當該模式命令顯示正常模式,該多工器會將該第一處理信號的其中k符元送往該碼字編碼單元,該碼字編碼單元會據以利用一生成多項式進行RS編碼來產生該已編碼碼字,且該已編碼碼字會具有n符元,其中(n-k)符元是相關於該k符元的檢驗資訊,n >k >1;當該模式命令顯示零星更新模式,該多工器會將該第一處理信號的其中一符元送往該零星編碼單元,該零星編碼單元視該其中一符元為一待更新符元,並據以零新更新該記憶模組中相關於該符元的已編碼碼字;其中,該零星編碼單元是促使該存取控制器從該記憶模組中,讀出該相關已編碼碼字的(n-k)檢驗資訊,並讀出對應該待更新符元的符元,以根據這些讀出的符元來零星更新。
且本發明具有李德所羅門(RS)糾錯機制的解碼器,適用於接收來自一記憶模組的一待解碼碼字,該待解碼碼字具有多個符元,且該記憶模組包括多個用以分別存放其中一符元的儲存單元;該解碼器包括一多工器,以及分別電連接該多工器的一未知錯更正單元與一已知錯更正單元,並且該多工器會接收一顯示一般狀態或失效狀態的磁碟狀態訊息;當該磁碟狀態訊息顯示一般狀態,該多工器會將該待解碼碼字送往該未知錯更正單元,該未知錯更正單元根據RS解碼為一生成多項式的每一個根值產生一癥狀信號,進而利用該等癥狀信號找出存放於哪一儲存單元的符元受到干擾,並解碼出一具有多個符元的第二處理信號;當該磁碟狀態訊息顯示失效狀態,該多工器會將該待解碼碼字送往該已知錯更正單元,該已知錯更正單元會根據該磁碟狀態訊息得知哪一個或哪二個儲存單元失效,並根據RS解碼為該生成多項式的每一個根值產生一癥狀信號,進而利用該等癥狀信號解碼出該第二處理信號的該等符元。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
參閱圖2,本發明具有李德所羅門(RS)糾錯機制的存取系統100之較佳實施例適用於電連接在一資料處理器200與一包括n個儲存單元41的記憶模組4間,包含一編碼器1、一解碼器2及一存取控制器3。編碼器1和解碼器2分別電連接到存取控制器3,且存取控制器3會與記憶模組4電連接。較佳地,本例的記憶模組4是一磁碟陣列(RAID)模組,該等儲存單元41是指磁碟。
當資料處理器200要傳入一第一處理信號到記憶模組4時,編碼器1會先對第一處理信號進行RS編碼,再由存取控制器3接收編碼後的一碼字(codeword),並將該碼字寫到記憶模組4中。
而當資料處理器200要從記憶模組4取出該第一處理信號時,存取控制器3會先讀出記憶模組4內的對應碼字,再由解碼器2對該碼字進行匹配於編碼器1的RS解碼得到一第二處理信號,才送往資料處理器200。較佳地,解碼器2會使第二處理信號逼近於第一處理信號。
值得注意的是,假若記憶模組4所包括的磁碟41因老化或其他因素而損壞,那麼存取控制器3讀出的碼字,很可能不同於先前寫入的碼字。所以,本發明在填寫記憶模組4前,會先進行RS編碼,讓編碼後的碼字具有較佳的抗雜訊能力。這樣,再從記憶模組4讀出碼字後,就可使用RS解碼來糾錯並盡量還原,以降低磁碟41損壞的影響。
接下來,進一步介紹本實施例的編碼器1和解碼器2。
編碼器
參閱圖3,編碼器1適用於接收來自資料處理器200的第一處理信號和一模式命令,這個模式命令會反映出資料處理器200想要以「正常模式」或「零星更新(small write)模式」,來填寫記憶模組4。該編碼器1包括一多工器11,以及分別與多工器11電連接的一碼字編碼單元12和一零星編碼單元13。且多工器11會基於模式命令,將第一處理信號送往碼字編碼單元12或零星編碼單元13。
當多工器11得知模式命令為「正常模式」,會將第一處理信號具有的k符元(symbol)送往碼字編碼單元12。接著,碼字編碼單元12根據RS編碼以一生成多項式g(x)來處理這些符元,而產生一具有n符元的已編碼碼字,n>k>1。之後,存取控制器3再將這n個符元分別寫到記憶模組4包括的n個磁碟41中。
舉例來說,假設碼字編碼單元12所採用的RS編碼具有錯誤更正能力t=1,那麼當第一處理信號具有k=(n-2)符元m2 、m3 ...mn-1 ,已編碼碼字就會有n符元c0 、c1 、c2 ...cn-1 ,且會分別存放到第X0 、X1 、X2 ...Xn-1 個磁碟41。其中c2 =m2 ,c3 =m3 ...,cn-1 =mn-1 ,而c0 、c1 則是關於m2 ~mn-1 的檢驗資訊。
再者,由於RS編碼是相當成熟的技術,且為本發明技術領域具有通常知識者所熟知,故本文不詳加說明碼字編碼單元12的組成與作動。
而當多工器11得知模式命令為「零星更新模式」,會將第一處理信號具有的一符元送往零星編碼單元13。並且,此時的模式命令還會通知是要更新存放在記憶模組4的哪一碼字,且是要更新該碼字中哪一位置的符元。
參閱圖4,為方便說明,接下來擬在前述碼字編碼單元12之範例的基礎下,說明零星編碼單元13和存取控制器3的作動。
步驟71:零星編碼單元13根據模式命令,得知資料處理器200想要更改哪一碼字的哪一位置符元(本例是指第j位置,1<j<n),並促使存取控制器3從第X0 、X1 、Xj 個磁碟41中,讀出該碼字的已儲存符元r0 、r1 、rj
請注意,為區隔符元是否受到磁碟41干擾,本文是以rindex 來表示從磁碟41讀出的符元,其會對應於cindex 。例如:r0 對應c0
步驟72:零星編碼單元13接收一非零元素α,並接收該第一處理信號具有的一個符元,即:待更新符元mj ’。
其中,非零元素α是生成多項式g(x)的一根值,而基於前述範例,可視該待更新符元mj ’為cj ’,用以取代已儲存符元rj
步驟73:零星編碼單元13基於非零元素α、第j位置、更改前後的符元rj 、cj ’,計算一第一檢驗偏差Δ0 和一第二檢驗偏差Δ1 ,如式(1)、(2)。
Δ0 =(c j '-r j )(α j +(α j 2 j 230 ) (1)
Δ1 =(c j '-r j )(α j 2 j 229  (2)
請注意,當cj ’取代rj 後,檢驗資訊c 0 '=r 00c 1 '=r 11 。這裡,不使用c h '=c h h (),是因為只能拿存放在記憶模組4的符元r h 來參考。至於Δ0 、Δ1 如何推導,稍後會做說明。
步驟74:零星編碼單元13使r0 加上Δ0 ,且使r1 加上Δ1 ,來得到檢驗資訊的更新值c0 ’、c1 ’。
步驟75:存取控制器3將c0 ’、c1 ’與cj ’填寫到對應磁碟41,以分別更新r0 、r1 與rj ,來實現零星更新。
因此,從以上流程可看出:本實施例只要從記憶模組4中取出待更新符元mj ’所相關碼字的符元r0 、r1 、rj ,就能進行零星更新,明顯較習知減少許多存取動作。
而步驟73計算之檢驗偏差Δ0 、Δ1 的推導方式如下:首先,因為錯誤更正能力t=1,所以存在二個非零元素α、α2 使生成多項式g(x)等於0,也使一碼字多項式C (x )等於0,且這個碼字多項式C (x )的係數能反映已編碼碼字的符元c0 ~cn-1 值(如式(3)、(4))。倘若進一步分離其中的c0 、c1 、cj ,可得式(5)、(6)。
接著,將cj 更新成cj ’=rj j ,且對應地更新c0 ’=r00 、c1 ’=r11 ,則可改寫式(5)、(6)如下:
然後,從式(7)扣掉式(5),從式(8)扣掉式(6),可整理出:
Δ0 α01 α1 j α j  (9)
Δ0 α01 α2 j α2 j  (10)
之後,在Δ j =cj ’-rj 、α、α2 與j都為已知的基礎下,可以解聯立方程式來獲取Δ0 、Δ1
最後,基於所有運算都是建立在加洛瓦體GF(2y )=GF(28 )的基礎上,就可以推導出如式(1)和式(2)的Δ0 、Δ1 。其中,y代表每一符元所具有的位元數目,且本例較佳地是取y=8。
值得注意的是,在該等磁碟41的運作過程中,其實損壞機率極小,也就是說讀出的r0 、r1 、rj 基本上會等同於先前寫入的c0 、c1 、cj ,而符合式(3)和(4)的要求。所以,本實施例能藉由一已儲存碼字中的少數符元,就能實現檢驗資訊的更新,明顯優於習知技術。
解碼器
參閱圖5,解碼器2適用於透過該存取控制器3接收一具有n符元r0 ~rn-1 的待解碼碼字,並根據RS解碼來轉換成具有k符元d2 ~dn-1 的該第二處理信號。由於這個待解碼碼字是從記憶模組4讀出,所以可視為受到該等磁碟41影響後的碼字。
解碼器2更適用於接收一磁碟狀態訊息,包括一多工器21,以及分別電連接該多工器21的一未知錯(error)更正單元22與一已知錯(erasure)更正單元23。
熟知本技藝者都知道,未知錯的定義是:還不知道存放於哪一磁碟41的符元發生錯誤,通常指因磁碟41的某些磁區或磁軌受損,所造成的資料錯誤。已知錯則是已經知道存放於哪一磁碟41的符元發生錯誤,例如無法從一特定的「失效」磁碟41讀出資料。
所以,當磁碟狀態訊息顯示「一般」狀態,多工器21會將待解碼碼字送往未知錯更正單元22。當磁碟狀態訊息顯示「失效」狀態,多工器21會將待解碼碼字送往已知錯更正單元23。
在詳細說明各更正單元22、23前,本例進一步定義幾種多項式來表示碼字的符元內容:碼字多項式C(x):編碼器1產生的「已編碼碼字」;干擾多項式e(x):該等磁碟41對「已編碼碼字」的干擾;接收多項式R(x):R(x)=C(x)+e(x),能反映「待解碼碼字」。
如果解碼器2具有匹配的錯誤更正能力t=1,代表未知錯更正單元22最多可以更正t=1個未知錯,也代表已知錯更正單元23最多可以更正2t=2個已知錯。
未知錯更正單元
由於α、α2 是碼字多項式的根,所以當存放於第Xu 磁碟41的符元ru 發生錯誤(error),,未知錯更正單元22使:第一癥狀信號為S1 =R (α)=0+e (α)=e u ‧α u =Y u X u ;及第二癥狀信號為S2 =R2 )=0+e2 )=e u ‧α2 u =Y u X u 2
其中,α u 代表存放在第Xu 個磁碟41的符元受到干擾,且干擾大小e u 可表示為Yu 。因此,可輕易求出X u =S 2 /S 1 u Y u =S 1 2 /S 2
然後,未知錯更正單元22會根據符元ru ,解碼出該第二處理信號的第u符元du =ru +Yu ,並令其他(k-1)符元為dw =rw ,w=2,3,...,(n-1)但w≠u。
已知錯更正單元
當磁碟狀態訊息顯示「失效」,磁碟狀態訊息還會通知已知錯更正單元23:哪一個或哪二個磁碟41發生損壞而失效,即通知:最多二個發生已知錯的位置Xu u 、Xv v 。假設位置Xu 的干擾值為Yu ,位置Xv 的干擾值為Yv ,那麼已知錯更正單元23會將癥狀信號S1 、S2 表示如下:
S 1 =Y u ‧α u +Y v ‧α v  (13)
S 2 =Y u ‧α2 u +Y v ‧α2 v  (14)
對式(13)和(14)解聯立方程式,可求得干擾值Yu 、Yv
然後,已知錯更正單元23便根據符元ru 解碼出該第二處理信號的第u符元du =ru +Yu ,並根據符元rv 解碼出該第二處理信號的第v符元dv =rv +Yv ,且令其他(k-2)符元為dw =rw ,w=2,3,...,(n-1)但w≠u,v。
值得注意的是,若是磁碟狀態訊息只通知一個發生已知錯的位置Xu ,那麼已知錯更正單元23可以令Yv =0,且令v=0,就能以上述方式得到第二處理信號具有的k符元d2~dn-1
再者,本例雖然是以錯誤更正能力t=1為例來進行說明,但是在其他應用中,也可以選用其他具有較大值的t,來提升存取系統100的錯誤更正能力。
舉例來說,當t=2時,碼字編碼單元12可依習知編碼方式,將第一處理信號的k=(n-4)符元編碼成具有n個符元的已編碼碼字,且該碼字的其中2t=4個符元為檢驗資訊。而零星編碼單元13能根據2t=4個非零元素,循類似前述對步驟73的說明,而在零星更新符元時,也更新該2t=4個檢驗資訊。
另一方面,未知錯更正單元22則會基於該4個非零元素產生4個癥狀信號,並據以求出哪2個位置的符元受到干擾,且干擾值為何。而已知錯更正單元23會就受到干擾的4個已知位置,產生相關於該等非零元素的4個癥狀信號,進而解聯立方程式得到各位置的干擾值。
同理,可類推得其他具有較大t值的情形。
並且,相較於習知採用矩陣式的Even-Odd編碼,本例編碼器1是採用RS編碼方式來處理一列資料(即k個符元),所以碼字編碼單元12和零星編碼單元13所需使用到的暫存空間並不多,當然延遲時間也不長。相對地,解碼器2也存在同樣的優勢。
值得注意的是,以上實施例中的編碼器1和解碼器2可獨立出於本發明存取系統100。
此外,本例是以RAID模組來實現記憶模組4,但是在其他應用中,記憶模組4也可以選用一快閃記憶體(flash memory)、一動態隨機存取記憶體(DRAM),或其他。當然,記憶模組4也能是指一網路空間,例如:網路硬碟或郵件(E-mail)空間。
綜上所述,本實施例存取系統100建立在RS編解碼的基礎上,所以延遲時間和暫存空間都少了許多。並且,零星更新時,也只要從記憶模組4讀出檢驗資訊r0 、r1 與符元rj ,不會過度拖累存取速度,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
100...存取系統
200...資料處理器
1...編碼器
11...多工器
12...碼字編碼單元
13...零星編碼單元
2...解碼器
21...多工器
22...未知錯更正單元
23...已知錯更正單元
3...存取控制器
4...記憶模組
41...儲存單元
71...得知更改哪一位置符元的步驟
72...接收非零元素和待更新符元的步驟
73...計算檢驗偏差的步驟
74...更新檢驗資訊的步驟
75...填寫更新後之檢驗資訊和符元的步驟
圖1是習知一種RAID架構的一方塊圖;
圖2是一方塊圖,說明本發明存取系統之實施例;
圖3是一方塊圖,說明本實施例的編碼器;
圖4是一流程圖,說明本實施例之零星編碼單元和存取控制器的作動;及
圖5是一方塊圖,說明本實施例的解碼器。
100...存取系統
200...資料處理器
1...編器
2...解器
3...存取控制器
4...記憶模組
41...儲存單元

Claims (17)

  1. 一種具有李德所羅門(RS)糾錯機制的編碼器,適用於接收一具有複數符元的第一處理信號,且藉由一存取控制器將一已編碼碼字寫到一記憶模組;該編碼器包括一多工器,以及分別與該多工器電連接的一碼字編碼單元和一零星編碼單元,且該多工器會接收一顯示正常模式或零星更新模式的模式命令;當該模式命令顯示正常模式,該多工器會將該第一處理信號的其中k符元送往該碼字編碼單元,該碼字編碼單元會據以利用一生成多項式進行RS編碼來產生該已編碼碼字,且該已編碼碼字會具有n符元,其中(n-k)符元是相關於該k符元的檢驗資訊,n >k >1;當該模式命令顯示零星更新模式,該多工器會將該第一處理信號的其中一符元送往該零星編碼單元,該零星編碼單元視該其中一符元為一待更新符元,並據以零新更新該記憶模組中相關於該符元的已編碼碼字;其中,該零星編碼單元是促使該存取控制器從該記憶模組中,讀出該相關已編碼碼字的(n-k)檢驗資訊,並讀出對應該待更新符元的符元,以根據這些讀出的符元和該生成多項式的至少一根值來零星更新。
  2. 依據申請專利範圍第1項所述之編碼器,其中,當該碼字編碼單元所採用RS編碼的錯誤更正能力為t,檢驗資訊的數目為2t;該零星編碼單元會基於該生成多項式的2t個根值, 來為每一檢驗資訊計算出一檢驗偏差,進而據以調整零星編碼後的各檢驗資訊值。
  3. 依據申請專利範圍第1項所述之編碼器,其中,該多工器所接收的模式命令也會顯示該待更新符元是位於該相關已編碼碼字的第j符元位置;當該碼字編碼單元所採用RS編碼的錯誤更正能力為1,檢驗資訊的符元數目為(n-k)=2,該零星編碼單元會基於該生成多項式的一根α、位置j、該待更新符元c j '以及對應該待更新符元的讀出符元r j ,來將該等檢驗資訊從r 0r 1 更新為c 0 '、c 1 ':
  4. 一種具有李德所羅門(RS)糾錯機制的解碼器,適用於接收來自一記憶模組的一待解碼碼字,該待解碼碼字具有多個符元,且該記憶模組包括多個用以分別存放其中一符元的儲存單元;該解碼器包括一多工器,以及分別電連接該多工器的一未知錯更正單元與一已知錯更正單元,並且該多工器會接收一顯示一般狀態或失效狀態的磁碟狀態訊息;當該磁碟狀態訊息顯示一般狀態,該多工器會將該待解碼碼字送往該未知錯更正單元,該未知錯更正單元根據RS解碼分別為一生成多項式的至少一個根值產生一癥狀信號,進而利用產生的癥狀信號找出存放於哪一 儲存單元的符元受到干擾,並解碼出一具有多個符元的第二處理信號;當該磁碟狀態訊息顯示失效狀態,該多工器會將該待解碼碼字送往該已知錯更正單元,該已知錯更正單元會根據該磁碟狀態訊息得知哪一個或哪二個儲存單元失效,並根據RS解碼分別為該生成多項式的至少一個根值產生一癥狀信號,進而利用產生的癥狀信號解碼出該第二處理信號的該等符元。
  5. 依據申請專利範圍第4項所述之解碼器,其中,當該未知錯更正單元所採用RS解碼的錯誤更正能力為t,會分別為該生成多項式的2t個根值產生一對應的癥狀信號,並根據該等癥狀信號求出哪t個位置的符元受到干擾,並求出對應干擾值,以調整相關符元。
  6. 依據申請專利範圍第4項所述之解碼器,其中,當該未知錯更正單元所採用RS解碼的錯誤更正能力為1,會為該生成多項式的一第一根值產生一第一癥狀信號,也為該生成多項式的一第二根值產生一第二癥狀信號;並使該第二癥狀信號除以該第一癥狀信號,來找出存放於哪一儲存單元的符元受到干擾,且使該第一癥狀信號的平方除以該第二癥狀信號,來求出該符元的干擾值,以解碼出該第二處理信號的對應符元。
  7. 依據申請專利範圍第4項所述之解碼器,其中,當該已知錯更正單元所採用RS解碼的錯誤更正能力為t,會藉由該磁碟狀態訊息得知至多2t個發生已知錯的符元位置 ;該已知錯更正單元根據該2t個發生已知錯的符元位置,分別為該生成多項式的2t個根值產生一對應的癥狀信號,進而解聯立方程式得到各位置的干擾值,以調整相關符元。
  8. 依據申請專利範圍第4項所述之解碼器,其中,當該已知錯更正單元所採用RS解碼的錯誤更正能力為1,會根據該磁碟狀態訊息得知二個發生已知錯的符元位置Xu 、Xv ,並據以為該生成多項式的一第一根值α產生一第一癥狀信號S1 ,也為該生成多項式的一第二根值α2 產生一第二癥狀信號S2 ;並基於該二個癥狀信號S1 、S2 ,求出位置Xu 、Xv 的符元干擾值Yu 、Yv
  9. 一種具有李德所羅門(RS)糾錯機制的存取系統,適用於接收來自一資料處理器的一第一處理信號,並電連接一記憶模組,該存取系統包含:一存取控制器,電連接該記憶模組,以讀寫該記憶模組;一編碼器,根據該第一處理信號進行RS編碼,來得到一已編碼碼字,以供該存取控制器將該已編碼碼字寫到該記憶模組;及 一解碼器,接收一對應於該已編碼碼字的待解碼碼字,且該待解碼碼字是由該存取控制器從該記憶模組所讀出,該解碼器會根據該待解碼碼字進行匹配於該編碼器的RS解碼,來得到一對應該第一處理信號的第二處理信號,以發送給該資料處理器。
  10. 依據申請專利範圍第9項所述之存取系統,該第一處理信號具有複數符元,其中,該編碼器包括一多工器,以及分別與該多工器電連接的一碼字編碼單元和一零星編碼單元;該多工器接收一顯示正常模式或零星更新模式的模式命令;當該模式命令顯示正常模式,該多工器會將該第一處理信號的其中k符元送往該碼字編碼單元,該碼字編碼單元會據以利用一生成多項式進行RS編碼來產生該已編碼碼字,且該已編碼碼字會具有n符元,其中(n-k)符元是相關於該k符元的檢驗資訊,n >k >1;當該模式命令顯示零星更新模式,該多工器會將該第一處理信號的其中一符元送往該零星編碼單元,該零星編碼單元視該其中一符元為一待更新符元,並據以零新更新該記憶模組中相關於該符元的已編碼碼字;其中,該零星編碼單元是促使該存取控制器從該記憶模組中,讀出該相關已編碼碼字的(n-k)檢驗資訊,並讀出對應該待更新符元的符元,以根據這些讀出的符元和該生成多項式的至少一根值來零星更新。
  11. 依據申請專利範圍第10項所述之存取系統,其中,當該碼字編碼單元所採用RS編碼的錯誤更正能力為t,檢驗資訊的數目為2t;該零星編碼單元會基於該生成多項式的2t個根值,來為每一檢驗資訊計算出一檢驗偏差,進而據以調整零星編碼後的各檢驗資訊值。
  12. 依據申請專利範圍第10項所述之存取系統,其中,該多工器所接收的模式命令也會顯示該待更新符元是位於該相關已編碼碼字的第j符元位置;當該碼字編碼單元所採用RS編碼的錯誤更正能力為1,檢驗資訊的符元數目為(n-k)=2,該零星編碼單元會基於該生成多項式的一根α、位置j、該待更新符元c j '以及對應該待更新符元的讀出符元r j ,來將該等檢驗資訊從r 0r 1 更新為c 0 '、c 1 ':
  13. 依據申請專利範圍第9項所述之存取系統,其中,該編碼器是利用一生成多項式來進行RS編碼,且該待解碼碼字具有多個對應於該已編碼碼字的符元,而該記憶模組包括多個儲存單元,用以分別存放該待解碼碼字的其中一符元;該解碼器包括一多工器,以及分別電連接該多工器的一未知錯更正單元與一已知錯更正單元,並且該多工 器會接收一顯示一般狀態或失效狀態的磁碟狀態訊息;當該磁碟狀態訊息顯示一般狀態,該多工器將該待解碼碼字送往該未知錯更正單元,該未知錯更正單元分別為該生成多項式的至少一個根值產生一癥狀信號,進而利用產生的癥狀信號找出存放於哪一儲存單元的符元受到干擾,並解碼出該第二處理信號具有的多個符元;當該磁碟狀態訊息顯示失效狀態,該多工器會將該待解碼碼字送往該已知錯更正單元,該已知錯更正單元會根據該磁碟狀態訊息得知哪一個或哪二個儲存單元失效,並分別為該生成多項式的至少一個根值產生一癥狀信號,進而利用產生的癥狀信號解碼出該第二處理信號的該等符元。
  14. 依據申請專利範圍第13項所述之存取系統,其中,當該未知錯更正單元所採用RS解碼的錯誤更正能力為t,會分別為該生成多項式的2t個根值產生一對應的癥狀信號,並根據該等癥狀信號求出哪t個位置的符元受到干擾,並求出對應干擾值,以調整相關符元。
  15. 依據申請專利範圍第13項所述之存取系統,其中,當該解碼器所採用RS解碼的錯誤更正能力為1,該未知錯更正單元會為該生成多項式的一第一根值產生一第一癥狀信號,也為該生成多項式的一第二根值產生一第二癥狀信號;並使該第二癥狀信號除以該第一癥狀信號,來找出存放於哪一儲存單元的符元受到干擾,且使該第一癥狀 信號的平方除以該第二癥狀信號,來求出該符元的干擾值,以解碼出該第二處理信號的對應符元。
  16. 依據申請專利範圍第13項所述之存取系統,其中,當該已知錯更正單元所採用RS解碼的錯誤更正能力為t,會藉由該磁碟狀態訊息得知至多2t個發生已知錯的符元位置;該已知錯更正單元根據該2t個發生已知錯的符元位置,分別為該生成多項式的2t個根值產生一對應的癥狀信號,進而解聯立方程式得到各位置的干擾值,以調整相關符元。
  17. 依據申請專利範圍第13項所述之存取系統,其中,當該解碼器所採用RS解碼的錯誤更正能力為1,該已知錯更正單元會根據該磁碟狀態訊息得知二個發生已知錯的符元位置Xu 、Xv ,並據以為該生成多項式的一第一根值α產生一第一癥狀信號S1 ,也為該生成多項式的一第二根值α2 產生一第二癥狀信號S2 ;並基於該二個癥狀信號S1 、S2 ,求出位置Xu 、Xv 的符元干擾值Yu 、Yv
TW98125006A 2009-07-24 2009-07-24 Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism TWI392239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW98125006A TWI392239B (zh) 2009-07-24 2009-07-24 Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98125006A TWI392239B (zh) 2009-07-24 2009-07-24 Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism

Publications (2)

Publication Number Publication Date
TW201105047A TW201105047A (en) 2011-02-01
TWI392239B true TWI392239B (zh) 2013-04-01

Family

ID=44813861

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98125006A TWI392239B (zh) 2009-07-24 2009-07-24 Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism

Country Status (1)

Country Link
TW (1) TWI392239B (zh)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金明浩,袁國元,"利用RS-Code編解碼積體電路實現高可靠度磁碟陣列之研究", 2000年6月. *

Also Published As

Publication number Publication date
TW201105047A (en) 2011-02-01

Similar Documents

Publication Publication Date Title
US20190079836A1 (en) Predictive memory maintenance
US8386889B1 (en) Drive replacement techniques for RAID systems
KR101645906B1 (ko) 계층적 반복 에러 교정을 위한 종료 기준
TWI465897B (zh) 記憶體模組之錯誤檢查與校正系統以及方法
US9912355B2 (en) Distributed concatenated error correction
TWI451430B (zh) 用於利用乘積碼糾正非揮發性記憶體中的錯誤的系統和方法
JP4940322B2 (ja) 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法
CN108463807B (zh) 温度相关的多模式错误校正
CN101211667A (zh) 降低误纠概率的纠错电路和方法和包括该电路的存储设备
US9564171B2 (en) Reconstructive error recovery procedure (ERP) using reserved buffer
JP6388599B2 (ja) 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム
TW201722090A (zh) 用於nand快閃記憶體的渦輪乘積碼
US10243588B2 (en) Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
US10514980B2 (en) Encoding method and memory storage apparatus using the same
JP4988418B2 (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
CN110716824B (zh) 编码方法及使用所述编码方法的存储器存储装置
JP7249719B2 (ja) 共通の高ランダム・ビット・エラーおよび低ランダム・ビット・エラー修正ロジック
KR101355988B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
TWI392239B (zh) Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism
US11204834B1 (en) Implementation of keeping data integrity in multiple dimensions
JPH11213693A (ja) メモリ装置
KR101355982B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
JP2011029857A (ja) フラッシュファイルシステムの誤り検出訂正機能
KR20170067656A (ko) Nand 플래시용 터보 프로덕트 코드

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees