專利名稱:用于多個階段錯誤校正的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及一種編碼和解碼的方案。尤其涉及一種通過編碼 和解碼較短的子代碼而提供用于代碼錯誤校正的方法和設(shè)備。
背景技術(shù):
在現(xiàn)代信息時代中,諸如1和0的二進(jìn)制數(shù)值被用于表示和傳送
諸如存儲、視頻、音頻、統(tǒng)計信息等的多種信息。令人遺憾的是,在 二進(jìn)制數(shù)據(jù)的存儲、傳輸、和/或處理過程中,錯誤可能無意地被引入 了 (例如,"r,位可能被變?yōu)?o"位,反之亦然。
在本領(lǐng)域中已知的用于克服存在的這類錯誤的多種技術(shù)使用了 一種錯誤校正代碼方案來確保所存儲信息的可靠性。存儲方法的物理 意義在于展示了一種可以用每個存儲單元核心的信息位的形式進(jìn)行 表達(dá)的固定能力。這種固定的能力是在每個存儲單元核心中信噪比的 直接結(jié)果,這樣就定義了一個理論的上限(這就是眾所周知的"香農(nóng) 極限,,)。
在許多實例中,對于一個給定的代碼速率,為了接近理論校正能 力,這種錯誤校正代碼方案要求使用十分長的代碼。
然而,增加代碼長度會導(dǎo)致編碼器和解碼器電路的復(fù)雜性和面積 增加。這個結(jié)果就是在某些方面上,實現(xiàn)一個包括這樣的錯誤校正代 碼方案的集成電路并不現(xiàn)實或者并不有效??商娲?,還不存在充足 的硅密度以用于支持標(biāo)準(zhǔn)解碼技術(shù)。
"錯誤校正,,的定義(也就是錯誤檢測以及校正)在這里被用于數(shù) 據(jù)存儲。根據(jù)前向錯誤校正代碼,編碼和解碼或在軟件中或使用硬件 來實現(xiàn)。
一旦發(fā)現(xiàn)了香農(nóng)極限[i],就會這樣的需要,即提供能接近達(dá)到香農(nóng)信息法則的性能極限的代碼。眾所周知[2-[5,為了達(dá)到這些極 限, 一種方案是必須增加代碼長度。1993年,Berron首次發(fā)表了使 用迭代解碼的近容量接近技術(shù)。然而,僅僅考慮了長代碼。隨后,71 -ll]通過引入低密度奇偶校驗(LDPC )代碼,更加接近這些容量極 限的新結(jié)構(gòu)成功地被提出了,又是僅僅對于典型的約107位的長代碼。
基于LDPC迭代解碼器的特定方案在[121 - [14j中進(jìn)行了描述, 其中重點被放在了減少計算單元的執(zhí)行復(fù)雜性、迭代次數(shù)、需要的存 儲大小等等。
在一個復(fù)雜的、受限制的環(huán)境中為了實現(xiàn)這些長代碼以及從它們 的性能中獲益,于是就需要提供用于減少長代碼編碼器和解碼器電路 復(fù)雜性的方法,這樣就可以使用實用的、較短的方案。
一種現(xiàn)有技術(shù)由Dror等在的美國專利申請No.20050160350中所
教導(dǎo),其公開了一種的刪截方法,用于通過減少奇偶校驗位開銷以減 少編碼器和解碼器電路的復(fù)雜性,
Dror的專利公開了一種為了單個位前向錯誤校正的高速數(shù)據(jù)編 碼器/解碼器。數(shù)據(jù)被布置到在一個矩形陣列中進(jìn)行保護(hù),這樣單個位 的錯誤的位置可以根據(jù)行和列的位置而進(jìn)行確定。結(jié)果是,減小了被 提供用于將錯誤故障轉(zhuǎn)換為錯誤位置的查找表格的尺寸。
然而,在Dror的專利中所公開的兩個計算階段的每一個,單獨 地并不是一個錯誤校正方案,由于它不能提供用于校正在第一階段中 的單個錯誤。因此,在不依賴第二階段中所得到的計算結(jié)果情況下, 第 一 階段甚至不能校正在每個子代碼中的單個錯誤。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,它提供了一種解碼代碼表示的方法,該方法包括以 下步驟(a)根據(jù)代碼字表示生成多個子字,以便每個子字的位都 是所述代碼字表示的位的合適子集;(b )根據(jù)每個子字的位單獨地 解碼每個字,以生成相應(yīng)的已解碼子字;以及(c)如果多個子字的 其中一個的解碼失敗,就修正相應(yīng)于所述解碼失敗子字的解碼子字,由此產(chǎn)生已修正的解碼子字,這種修改至少部分地根據(jù)至少一個成功 地解碼的子字的對應(yīng)解碼子字。
根據(jù)本發(fā)明,它提供了一種用于解碼M位字的設(shè)備,該設(shè)備包 括(a)用于解碼N<M位字的解碼器;以及(b)用于分別地將解 碼器應(yīng)用到從M位字中所選出的每個N位不同子集的機制,解碼器 的每個應(yīng)用單獨地依賴于這個應(yīng)用被用到的N位,每個應(yīng)用生成相應(yīng) 解碼數(shù)據(jù),以便至少部分地根據(jù)應(yīng)用的相應(yīng)解碼數(shù)據(jù)生成M位字的 最終解碼數(shù)據(jù),其中如果應(yīng)用中的一個失敗,那么該機制至少部分地 根據(jù)至少一個成功應(yīng)用的相應(yīng)解碼數(shù)據(jù),實現(xiàn)已失敗應(yīng)用的相應(yīng)解碼 數(shù)據(jù)的修正。
根據(jù)本發(fā)明,它提供了一種用于解碼M位字的設(shè)備,該設(shè)備包 括(a)多個用于各自解碼N〈M位字的解碼器;以及(b)用于分 別地將所述多個解碼器的每一個應(yīng)用到從M位字中選出的每個N位 的不同子集的機制,所述多個解碼器中的每一個解碼器的每個應(yīng)用單 獨地依賴于每個應(yīng)用被用到的N位,每個應(yīng)用生成相應(yīng)解碼數(shù)據(jù),以 便至少部分地根據(jù)各個應(yīng)用的相應(yīng)解碼數(shù)據(jù)生成M位字的最終解碼 數(shù)據(jù),其中如果解碼器中的一個失敗,那么該機制至少部分地根據(jù)已 成功的至少一個解碼器的相應(yīng)解碼數(shù)據(jù),實現(xiàn)已失敗解碼器的相應(yīng)解 碼數(shù)據(jù)的修正。
根據(jù)本發(fā)明,它提供了 一種提供用于數(shù)據(jù)位錯誤校正的方案的方 法,該方法包括以下步驟(a)根據(jù)第一編碼方案編碼數(shù)據(jù)位以生 成第一奇偶校驗位組;(b)根據(jù)第二編碼方案編碼數(shù)據(jù)位以生成第 二奇偶校驗位組;(c)將第二奇偶校驗位組轉(zhuǎn)換為一個奇偶校驗位 的聚縮組,其中這個轉(zhuǎn)換是多對一的;以及(d)通過將第一奇偶校 驗位組與聚縮奇偶校驗位組相組合以生成用于所述數(shù)據(jù)位的奇偶校 驗位的最終組。
根據(jù)本發(fā)明,它提供了一種提供用于數(shù)據(jù)位錯誤校正的方案的方 法,該方法包括以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這 樣每個數(shù)據(jù)位在多個子組中至少出現(xiàn)一次;(b)根據(jù)相應(yīng)的第一編碼方案對多個子組的每個子組進(jìn)行編碼,以對于每個子組生成相應(yīng)
的、至少一個的第一奇偶校驗位;(c)根據(jù)相應(yīng)的第二編碼方案每 個子組進(jìn)行編碼,以對于每個子組生成相應(yīng)的、至少一個的第二奇偶 校驗位;(d)將所有多個子組中的所有所述至少一個第二奇偶校驗 位轉(zhuǎn)換成聯(lián)合的聚縮奇偶校驗位,其中這個轉(zhuǎn)換是多對一的;以及(e) 通過將所有所述多個子組中的所有所述至少一個第一奇偶校驗位與 所述聯(lián)合聚縮奇偶校驗位相組合,以生成用于數(shù)據(jù)位的奇偶校驗位的 最終組。
根據(jù)本發(fā)明,它提供了 一種提供用于數(shù)據(jù)位錯誤校正的方案的方 法,該方法包括以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這 樣每個數(shù)據(jù)位在多個子組中至少出現(xiàn)一次;(b)使用相應(yīng)的編碼方 案對多個子組的每個子組進(jìn)行編碼,以對于每個子組生成相應(yīng)的至少 一個奇偶校驗位;(c)對于每個子組,從每個子組的位和每個子組 的相應(yīng)的至少一個奇偶校驗位中選出相應(yīng)的所選子集;(d)將所有 多個子組中的所選子集轉(zhuǎn)換成聯(lián)合聚縮所選位,其中這個轉(zhuǎn)換是多對 一的;(e)通過將每個子組的位與每個子組的相應(yīng)的至少一個奇偶 校驗位相組合,以對于每個子組生成相應(yīng)的被縮短的代碼字,然后將 每個子組中的相應(yīng)的所選子集去除;以及(f)通過將所有所述多個子 組的相應(yīng)的被縮短的代碼字與聯(lián)合聚縮所選位相組合,以生成用于數(shù) 據(jù)位的代碼字。
根據(jù)本發(fā)明,它提供了 一種提供用于數(shù)據(jù)位錯誤校正的方案的方 法,該方法包括以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這 樣每個數(shù)據(jù)位在子組中至少出現(xiàn)一次;(b)使用相應(yīng)的編碼方案對 多個子組的每個子組進(jìn)行編碼,以對于每個子組生成相應(yīng)的代碼字; (c)對于每個子組,從相應(yīng)代碼字的位中選擇相應(yīng)的所選子集;(d)
將所有相應(yīng)代碼字中的相應(yīng)所選子集轉(zhuǎn)換成聯(lián)合聚縮所選位,其中這
個轉(zhuǎn)換是多對一的;(e)通過去除相應(yīng)于每個相應(yīng)代碼字的所選子
集的位,以生成用于每個相應(yīng)代碼字的相應(yīng)被縮短的代碼字;以及(f) 通過將所有多個子組中的相應(yīng)被縮短的代碼字與聯(lián)合聚縮所選位相組合以生成用于所述數(shù)據(jù)位的代碼字。
根據(jù)本發(fā)明,它提供了一種解碼代碼字表示的方法,所述表示包
括M個數(shù)據(jù)位和P個奇偶校驗位,該方法包括以下步驟(a)將P 個奇偶校驗位劃分成第一奇偶校驗位組和第二奇偶校驗位組;(b ) 僅僅使用第一奇偶校驗位組對M個數(shù)據(jù)位進(jìn)行解碼以提供校正的數(shù) 據(jù)位;以及(c)如果僅僅使用第一奇偶校驗位組的解碼失敗,那么 使用第一奇偶校驗位組和第二奇偶校驗位組,對M個數(shù)據(jù)位進(jìn)行解 碼以提供校正的數(shù)據(jù)位。
根據(jù)本發(fā)明,它提供了一種解碼包括M個數(shù)據(jù)位和P個奇偶校 驗位的代碼字表示的方法,該方法包括以下步驟(a)將M個數(shù)據(jù) 位劃分成KM個子集,其中M數(shù)據(jù)位的每個在K個子集中至少出現(xiàn) 一次;(b)將P個奇偶校驗位劃分成第一奇偶校驗位組和第二奇偶 校驗位組;(c)將第一奇偶校驗位組劃分成K個子集,第一奇偶校 驗位組的每個子集對應(yīng)于M個數(shù)據(jù)位的各自子集;(d)根據(jù)第一奇 偶校驗位組的相應(yīng)子集對M數(shù)據(jù)位的每個子集進(jìn)行解碼,以生成M 數(shù)據(jù)位的每個子集的解碼數(shù)據(jù);(e )如果M個數(shù)據(jù)位的K子集的其 中一個解碼失敗,那么至少部分地根據(jù)第二奇偶校驗位組對所述其中 一個子集進(jìn)行解碼,以生成所述其中一個子集的解碼數(shù)據(jù);以及(f) 將M個數(shù)據(jù)位的所有K個子集的解碼數(shù)據(jù)相組合,以生成用于M數(shù) 據(jù)位的總的解碼數(shù)據(jù)。
根據(jù)本發(fā)明,它提供一種解碼解碼來自具有N〉M個位的代碼字 表示的M個數(shù)據(jù)位的方法該方法包括以下步驟(a)從N個位中去 除至多N-M位的所選子集,因此產(chǎn)生了剩余位的集合;(b)將剩余 位劃分成K>1個剩余位的子集,其中每個剩余位是所述K個子集中 的至少一個的成員;(c)僅僅根據(jù)每個子集的位對K個子集的每個 進(jìn)行解碼,以生成每個子集的解碼數(shù)據(jù);(d)如果K個子集的其中
一個的解碼失敗,那么至少部分地根據(jù)被去除的所選子集對一個子集 進(jìn)行解碼以生成所述其中一個子集的解碼數(shù)據(jù);以及(e)將所有K 個子集的解碼數(shù)據(jù)相組合,以生成用于所述M個數(shù)據(jù)位的總解碼數(shù)據(jù)。
本發(fā)明的第一方面是一種解碼代碼字表示的方法。在本發(fā)明的這 一方面以及本發(fā)明其它的、相似的方面,被解碼的代碼字表示,而不 是代碼字被寫入存儲器,因為寫入、然后讀取代碼字會給代碼字引入 錯誤。多個子字根據(jù)代碼字的表示被生成,這樣每個子字就是代碼字 表示的位的合適子集。每個子字根據(jù)它自己的位獨立地被解碼以生成 一個相應(yīng)的解碼子字。如果子字中的一個的解碼失敗,那么對應(yīng)于其 解碼已失敗的子字的解碼子字就會被修正,因此會產(chǎn)生 一個已修正的 解碼子字。這個修正至少部分地是根據(jù)這樣的解碼子字進(jìn)行的,即這 些解碼子字與一個或者多個的成功地被解碼的子字相對應(yīng)。
如下所述,術(shù)語"解碼子字"的范圍同時包括通過成功地解碼一個 子字所得到的數(shù)值和解碼子字的嘗試失敗的邏輯指示。需要注意的 是,通過成功地解碼子字所獲得的數(shù)值是原始代碼字自己的一部分, 而不僅僅是其中的一個表示。換句話說, 一個"被成功地解碼的子字" 是一個子代碼字。"修正"一個解碼子字意味著將解碼子字從一個數(shù)值 改變?yōu)榱硪粋€數(shù)值,或者從一個解碼失敗的邏輯指示改變?yōu)橐粋€數(shù) 值,或者從一個數(shù)值改變?yōu)橐粋€失敗的邏輯指示。
例如,在下面的范例情形1中,兩個子字《^和《^是根據(jù)代
碼字的表示而被生成的。每一個子字使用[ll, 7, 3的解碼器而分別 地被解碼。如果^^的解碼失敗,而^,"的解碼成功,那么解碼^^ 的嘗試失敗的邏輯指示就會通過以由^所解碼的G ,代邏輯指示而 進(jìn)行修正。這種修正是根據(jù)對應(yīng)于成功地被解碼的^,的子代碼字
& : ^使用[15, 7, 5中的編碼器而進(jìn)行編碼,以再生尸2,戶2與
,進(jìn)行異或運算以獲得《,^^和《進(jìn)行級聯(lián)以獲得A。
優(yōu)選地,如果子字中的一個解碼失敗,那么來自被修正的解碼子 字的數(shù)據(jù)與來自對應(yīng)于成功被解碼的子字的所有解碼子字的數(shù)據(jù)進(jìn) 行組合。例如,在下面的范例情形l中,如果解碼"失敗,而解碼 。f"成功,那么從《所解碼出的G的最前七位就與^"的最前七位相 級聯(lián)以恢復(fù)首標(biāo)(header)。最優(yōu)選地,來自已修正的解碼子字的數(shù)據(jù)與來自對應(yīng)于成功地被 解碼的子字的所有解碼子字的數(shù)據(jù)的組合通過包含組裝來自已修正
字的數(shù)據(jù):步驟而^現(xiàn)。"組i"來自兩個或更多不同Z源的數(shù)據(jù)在這
里被定義為將來自所有來源的位可能與被變更次序的位的順序放在 一起,以及可能與至少被重復(fù)一次的一個或多個位放在一起,并放入 一個寄存器或存儲位置。典型地,然而,如同在下面的范例情形1中, 數(shù)據(jù)通過級聯(lián)來自各種不同數(shù)據(jù)來源的位進(jìn)行"組裝",無需考慮更改 多個位的順序以及不考慮重復(fù)位。
優(yōu)選地,多個子字是不相交的。例如,在下面范例情形1中, 和^f^是不相交的。
優(yōu)選地,多個子字都包含相同數(shù)目的位。例如,在下面范例情形 1中,和;Aw都包含11位。
本發(fā)明的第二個方面是一種用于解碼M位字的設(shè)備。該設(shè)備包 括用于解碼N<M位的字的解碼器和將解碼器單獨地應(yīng)用到從M位字 所選出的N位的每個不同子集的機制。解碼器的每個應(yīng)用單獨地依賴 于其應(yīng)用被應(yīng)用到的N位。解碼器的每個應(yīng)用生成對應(yīng)的解碼數(shù)據(jù), 以便至少部分地根據(jù)解碼器應(yīng)用所產(chǎn)生的解碼數(shù)據(jù)來生成最終的解 碼數(shù)據(jù)。如果解碼的多個應(yīng)用中的一個失敗了,那么至少部分地根據(jù) 解碼器的其它應(yīng)用所產(chǎn)生的解碼數(shù)據(jù)來修正這些應(yīng)用的解碼數(shù)據(jù)。
例如,在下面范例情形1中,M=26, N=ll以及解碼器是[ll, 7,
3的解碼器。這個11位的子集是Ci和Q 。11, 7, W的解碼器 單獨地被應(yīng)用到這兩個子集。最終的解碼數(shù)據(jù)是已解碼的l4位首標(biāo) (header )。如果解碼Ci失敗,但成功解碼^ ,那么解碼"的 嘗試失敗的邏輯指示就通過用從^所解碼的Ci替代該邏輯指示而
進(jìn)行修正。這種修正根據(jù)對應(yīng)于成功地被解碼的& '的解碼子字 : 采用[15, 7, s的編碼器進(jìn)行編碼以再生&, &與#進(jìn)
行異或運算以得到S, ^自和S進(jìn)行級聯(lián)以得到A。優(yōu)選地,這些子集是不相交的。例如,在下面的范例情形l中, ^和^W是不相交的。
本發(fā)明的第三個方面是一種用于解碼M位字的設(shè)備。該設(shè)備包 括多個解碼器,每個解碼器解碼N<M位的字。該設(shè)備還包括一種機 制,用于將每個解碼器單獨地應(yīng)用到從M位字所選出的N位的每個 不同子集。解碼器的每個應(yīng)用單獨地依賴于其正被應(yīng)用到的N位。解 碼器的每個應(yīng)用生成相應(yīng)的解碼數(shù)據(jù),以便至少部分地根據(jù)通過應(yīng)用 多個解碼器所產(chǎn)生的解碼數(shù)據(jù)來生成最終的M位字的解碼數(shù)據(jù)。如 果多個解碼器中的一個失敗了,那么至少部分地根據(jù)其它解碼器所產(chǎn)
生的解碼數(shù)據(jù)來修改那些對應(yīng)的解碼數(shù)據(jù)。
例如,在下面范例情形1中,M-26,N-11以及解碼器是文獻(xiàn)[ll,
7, 3j的解碼器。這個ll位的子集是q 和C2 。又獻(xiàn)[ll, 7, 3的 每個解碼器被單獨地應(yīng)用到這兩個子集中的一個。最終的解碼數(shù)據(jù)是
已解碼的14位首標(biāo)。如果解碼61 失敗,但成功解碼^ ',那么試 圖解碼《一 的邏輯指示就通過用從^所解碼的Ci替代該邏輯指示
而進(jìn)行修正。這種修正根據(jù)對應(yīng)于所成功地解碼的^^'的解碼子字 Cf^ : 釆用文獻(xiàn)[15, 7, 5的編碼器進(jìn)行編碼以再生&, ^與
,進(jìn)行異或運算以得到耳,《^和巧進(jìn)行級聯(lián)以得到^。
優(yōu)選地,這些子集是不相交的。例如,下面范例情形1中,《"^ 和^f"是不相交的。
本發(fā)明的第四個方面是一種提供了用于數(shù)據(jù)位錯誤校正方案的 方法。該數(shù)據(jù)位根據(jù)第一編碼方案而被編碼以生成第一奇偶校驗位 組。這些數(shù)據(jù)位也根據(jù)第二編碼方案而被編碼以生成第二奇偶校驗位 組。第二奇偶校驗位組通過多對一的轉(zhuǎn)換方式轉(zhuǎn)換成為一個聚縮的奇 偶校驗位組。通過將笫一組和第二奇偶校驗位組進(jìn)行組合以生成一個 最終奇偶校驗位組。
例如,在下面范例情形l中,首標(biāo)的數(shù)據(jù)位是14位。第一編碼
方案是產(chǎn)生"和Q 的[ll, 7, 3I的方案。第一奇偶校驗位組是每一個4 和h 的最后四位。第二編碼方案是產(chǎn)生第二奇偶校驗位組
尸/和A的[15, 7, 5]方案。第二奇偶校驗位組通過多對一的轉(zhuǎn)換異或 運算(8位進(jìn),4位出)而被轉(zhuǎn)換成聚縮組尸。最終奇偶校驗位組通過
r由" ^t由rt
將^ 的最后四位和^ 的最后四位與戶進(jìn)行組合而被生成,以提
供在圖8以附圖標(biāo)記246和254所表示的代碼字的奇偶校驗位。
優(yōu)選地,通過組裝第一奇偶校驗位組的至少一部分與聚縮奇偶校 驗位組,第一奇偶校驗位組與聚縮奇偶校驗位組進(jìn)行組合。例如,在
下面范例情形1中,"、Gs和一起被寫在閃存設(shè)備的一個公
用位置,這樣"的最后四位、^ 的最后四位和p就被一起存儲 在公用位置上。
優(yōu)選地,轉(zhuǎn)換步驟包括對第二奇偶校驗位組的多個子組進(jìn)行異或 運算。例如,在下面范例情形i中,尸/和戶2進(jìn)行異或運算。
本發(fā)明的第五個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方 法。位的多個子組根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在各子組中 至少出現(xiàn)一次。每個子組根據(jù)相應(yīng)的第一編碼方案進(jìn)行編碼以生成一 個或者多個相應(yīng)的第一奇偶校驗位。每一個子組根據(jù)相應(yīng)的第二編碼 方案進(jìn)行編碼以生成一個或者多個相應(yīng)的第二奇偶校驗位。所有的第 二奇偶校驗位通過多對一操作被轉(zhuǎn)換為聯(lián)合聚縮奇偶校驗位。最終奇 偶校驗位組通過將所有第一奇偶校驗位與聯(lián)合聚縮奇偶校驗位進(jìn)行 組合而被生成。
例如,在下面范例情形l中,數(shù)據(jù)位是首標(biāo)的14位。兩個子組 是首標(biāo)的最前7位和最后7位。每個數(shù)據(jù)位在其中 一個子組中恰好只 出現(xiàn)一次,而在另一個子組中根本不出現(xiàn)。第一編碼方案全是產(chǎn)生
C,和"的[ll, 7, 3的方案,其生成用于第一子組的四個奇偶校
驗位("的最后四位)和用于第二子組的四個奇偶校驗位的
最后四位)。第二編碼方案都是[15, 7, 5的方案,其生成用于第一 子組的四個奇偶校驗位A和用于第二子組的四個奇偶校驗位P2。尸7 和/>2通過多對一的"異或,,操作(8位進(jìn),4位出)被轉(zhuǎn)換為聚縮組尸。通過將"、G2與P寫入閃存設(shè)備中、并將"的最后四位和C2 的最后四位與尸進(jìn)行組合生成最終奇偶校驗位組。
優(yōu)選地,通過組裝所有第一奇偶校驗位組與聚縮奇偶校驗位組, 第一奇偶校驗位組與聚縮奇偶校驗位組進(jìn)行組合。例如,在下面范例
情形1中,^ 、 C2 和戶一起被寫在閃存設(shè)備中,這樣e的最
后四位、"的最后四位和尸就被一起存儲在公用位置上。
優(yōu)選地,每個數(shù)據(jù)位在多個子組中僅僅出現(xiàn)一次。例如,在下面
范例情形1中,每個首標(biāo)的最前7位在第一子組中出現(xiàn)一次,而在第 二子組中根本不出現(xiàn),以及每個首標(biāo)的最后7位在第二子組中只出現(xiàn) 一次,而在第一子組中根本不出現(xiàn)??商娲兀辽僖粋€數(shù)據(jù)位在多 個子組中至少出現(xiàn)兩次。例如,在下面范例情形2中,對于編碼4096 個信息位,在586個代碼字中就有58敘7,1()2個數(shù)據(jù)位,這樣其中一 個信息位可以被復(fù)制6次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形l 中,兩個子組都具有7位。
優(yōu)選地,對于子組中的至少一個,通過^f吏用一個通用的編碼方案 來獲得相應(yīng)的第一和第二編碼方案,這樣(多個)第一編碼方案根據(jù) 第一順序來編碼(多個)子組位,并且(多個)第二編碼方案根據(jù)第 二順序來編碼(多個)子組位。例如,在下面范例情形1的一個可選 例中,11, 7, 31的編碼可以被作為第一編碼方案獨立地應(yīng)用到首標(biāo) 的最前和最后7位上;于是首標(biāo)最前7位的順序可以被改變,以及首 標(biāo)最后7位的順序可以被改變;然后[ll, 7, 3的編碼可以作為第二 編碼方案被獨立地應(yīng)用到已改變次序的首標(biāo)的最前和最后7位上。通 過將異或運算由編碼已改變序列的最前7首標(biāo)位所產(chǎn)生的代碼字的最 后四位與由編碼已改變序列的最后7首標(biāo)位所產(chǎn)生的代碼字的最后四 位,產(chǎn)生聚縮奇偶校驗位。正如在下面范例情形1中,14個數(shù)據(jù)位和 12個奇偶校驗位將被存儲。
優(yōu)選地,根據(jù)通用的第一編碼方案對所有的子組進(jìn)行編碼。例如, 在下面范例情形1中,這個通用的第一編碼方案是[ll, 7, 3的編碼方案。
優(yōu)選地,根據(jù)通用的第二編碼方案對所有的子組進(jìn)行編碼。例如,
在下面范例情形1中,這個通用的第二編碼方案是[15, 7, 5的編碼 方案。
優(yōu)選地,將第二奇偶校驗位轉(zhuǎn)換為聯(lián)合聚縮奇偶校驗位,這個轉(zhuǎn) 換包括將對應(yīng)于子組中的一個的第二奇偶校驗位的至少一個和對應(yīng) 于子組中另一個的笫二奇偶校驗位的至少一個進(jìn)行異或運算。例如,
在下面范例情形1中,當(dāng)尸/與尸2進(jìn)行異或運算時,A和A是"第二
奇偶校驗位,,的兩個組。
本發(fā)明的第六個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方 法。多個子組的位根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在多個子組 中至少出現(xiàn)一次。每個子組根據(jù)相應(yīng)的編碼方案進(jìn)行編碼以生成一個 或者多個相應(yīng)的第一奇偶校驗位。對于每個子組,相應(yīng)的所選子集是 從子組的位以及(多個)相應(yīng)的奇偶校驗位中被選擇出來的。所有的 所選子集通過多對一操作被轉(zhuǎn)換為聯(lián)合聚縮所選位。對于每個子集而 言,相應(yīng)的被縮短代碼字是通過將每個子集的位與(多個)相應(yīng)奇偶 校驗位進(jìn)行組合,然后去除相應(yīng)所選子集的位而被生成的。最后,用 于數(shù)據(jù)位的代碼字是通過將所有的被縮短代碼字與聯(lián)合聚縮所選位 進(jìn)行組合而被生成的。
例如,在下面范例情形l中,數(shù)據(jù)位是首標(biāo)的14位。兩個子組 是首標(biāo)的最前7位和最后7位。每個數(shù)據(jù)位在一個子組中恰好只出現(xiàn) 一次,而在另一個子組中根本不出現(xiàn)。每個子組使用[l5, 7, 5的編 碼器進(jìn)行編碼以生成代碼字C,和G,其中每個包括8個奇偶校驗位。 "所選,,的子集尸,和尸2通過多對一的異或操作(8位進(jìn),4位出)從 C7和G中的位轉(zhuǎn)換為P的聯(lián)合聚縮所選位。通過將子組的位與由[15, 7, 5]的解碼器所產(chǎn)生的奇偶校驗位進(jìn)行組合,以產(chǎn)生全代碼字G和 G,然后從C,中去除所選子集尸,和從G中移去所選子集iV生成縮
短的代碼字^ 和"。通過將^ 、 L2 與尸寫入閃存設(shè)備中,
并將Gf一、 Cf^與尸進(jìn)行組合以生成最終的代碼字。優(yōu)選地,通過組裝子組位與相應(yīng)的奇偶校驗位,將每個子組位與 相應(yīng)的奇偶校驗位進(jìn)行組合。例如,在下面范例情形1中,代碼字
c7是通過將第一子組與由編碼第一子組所產(chǎn)生的奇偶校驗位相級聯(lián)
而被產(chǎn)生的,代碼字G是通過將第二子組與由編碼第二子組所產(chǎn)生 的奇偶校驗位相級聯(lián)而被產(chǎn)生的。
優(yōu)選地,通過組裝所有被縮短的代碼字與聯(lián)合所選聚縮位,被縮 短的代碼字與聯(lián)合所選聚縮位進(jìn)行組合。例如,在下面范例情形1中,
"、" 與P—起被存儲到閃存設(shè)備中的一個公用位置。
優(yōu)選地,每個數(shù)據(jù)位在多個子組中僅僅出現(xiàn)一次。例如,在下面
范例情形1中,每個首標(biāo)的最前7位在第一子組中出現(xiàn)一次,而在第 二子組中根本不出現(xiàn),并且每個首標(biāo)最后7位在第二子組中只出現(xiàn)一 次,而在第一子組中根本不出現(xiàn)??商娲?,至少一個數(shù)據(jù)位在多個 子組中至少出現(xiàn)兩次。例如,在下面范例情形2中,對于編碼40% 信息位,在586個代碼字中就有58&£7,102個數(shù)據(jù)位,這樣其中一個 信息位可以被復(fù)制6次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形l 中,兩個子組每一個都具有7位。
優(yōu)選地,根據(jù)一個通用的第一編碼方案對所有的子組進(jìn)行編碼。 例如,在下面范例情形1中,這個通用的第一編碼方案是[l5, 7, 5
的編碼方案。
優(yōu)選地,將所選的子集轉(zhuǎn)換為聯(lián)合聚縮所選位,這個轉(zhuǎn)換包括將 一個所選子集位與另一個所選子集的位進(jìn)行異或運算。例如,在下面 范例情形1中,當(dāng)尸,與尸2進(jìn)行異或運算。
本發(fā)明的第七個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方 法。多個位的子組根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在子組中至 少出現(xiàn)一次。每個子組使用相應(yīng)的編碼方案進(jìn)行編碼以生成相應(yīng)的代 碼字。對于每個代碼字,相應(yīng)的所選位的子集被選擇。所有的所選子 集通過多對一操作被轉(zhuǎn)換為聯(lián)合聚縮所選位。對于每個代碼字而言, 相應(yīng)的被縮短代碼字是通過從代碼字中去除相應(yīng)所選子集的位而被生成的??傮w上,用于數(shù)據(jù)位的代碼字是通過將所有被縮短代碼字與 聯(lián)合聚縮所選位進(jìn)行組合而被生成的。需要注意的是,因為本發(fā)明的 第七個方面并不需要使用單獨的、區(qū)別于數(shù)據(jù)位的奇偶校驗位,因此 本發(fā)明的這個方面同時可應(yīng)用于系統(tǒng)編碼和非系統(tǒng)編碼。
例如,在下面范例情形l中,數(shù)據(jù)位是首標(biāo)的14位。兩個子組 是首標(biāo)的最前7位和最后7位。每個數(shù)據(jù)位在一個子組中恰好只出現(xiàn) 一次,而在另一個子組中根本不出現(xiàn)。每個子組使用對應(yīng)的[15, 7, 5的編碼方案而被編碼以生成相應(yīng)的代碼字CV和C2,所選子集A是 從C/位中被選擇出來的,所選子集A是從G位中被選擇出來的。尸, 和尸2通過多對一的異或操作(8位進(jìn),4位出)被轉(zhuǎn)換為尸。通過從
CV中去除尸;和從G中去除A以生成被縮短的代碼字^和^ 。
總體上,用于數(shù)據(jù)位的代碼字是通過將"、"與/>寫入閃存設(shè)
備中,并將〗,"與p進(jìn)行組合而被生成的。
優(yōu)選地,通過組裝所有被縮短的代碼字與聯(lián)合所選聚縮位,被縮 短的代碼字與聯(lián)合所選聚縮位進(jìn)行組合。例如,在下面范例情形1中,
Ci、 Cs 和戶一起被存儲在閃存設(shè)備中的一個公用位置上。
優(yōu)選地,每個數(shù)據(jù)位在多個子集中僅僅出現(xiàn)一次。例如,在下面
范例情形1中,每個首標(biāo)的最前7位在笫一子組中出現(xiàn)一次,而在第 二子組中根本不出現(xiàn),并且每個首標(biāo)最后7位在第二子組中只出現(xiàn)一
次,而在第一子組中根本不出現(xiàn)??商娲?,至少一個數(shù)據(jù)位在多個 子組中至少出現(xiàn)兩次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形l
中,兩個子組每一個都具有7位。
優(yōu)選地,根據(jù)通用的第一編碼方案對所有的子組進(jìn)行編碼。例如, 在下面范例情形1中,這個通用的第一編碼方案是15, 7, 5的編碼 方案。
優(yōu)選地,將所選子集轉(zhuǎn)換為聯(lián)合聚縮所選位,這個轉(zhuǎn)換包括將一 個所選子集的位與另一個所選子集的位進(jìn)行異或運算。例如,在下面 范例情形1中,將戶/與A進(jìn)行異或運算。本發(fā)明的第八個方面是一種解碼包含M個數(shù)據(jù)位和P個奇偶校 驗位的代碼字表示的方法。這P個奇偶校驗位被劃分為第 一組奇偶校 驗位和第二組奇偶校驗位。M個數(shù)據(jù)位僅采用第一組奇偶校驗位進(jìn)行 解碼,以提供校正數(shù)據(jù)位。如果僅采用第一組的奇偶校驗位的解碼失 敗了,那么M個數(shù)據(jù)位同時釆用兩組奇偶校驗位進(jìn)行編碼,以提供 校正數(shù)據(jù)位。
例如,在下面范例情形l中,M-14以及P-12。這14個數(shù)據(jù)位 是£1的最前7位和^的最前7位。這12個奇偶校驗位是q
最后4位、、的最后4位、以及^。奇偶校驗位的第一組是Ci
的 的
產(chǎn)由W g
最后4位和"的最后4位。奇偶校驗位的第二組是尸。多個數(shù)據(jù)位 采用[ll, 7, 31的、僅具有第一組奇偶校驗位的解碼器進(jìn)行解碼,以
提供Ci的最前7位和、的最前7位的解碼表示。如果解碼q
'產(chǎn)由付
失敗但解碼^成功,那么Ca 釆用[15, 7, 5的編碼器進(jìn)行編碼以 再生^,巧與,進(jìn)行異或運算以得到,1, ^*和^進(jìn)行級聯(lián)以得到
G,以及^采用[15, 7, 5的解碼器進(jìn)行解碼。
本發(fā)明的第九個方面是一種解碼包含M個數(shù)據(jù)位和P個奇偶校 驗位的代碼字表示的方法。這M個數(shù)據(jù)位被劃分為兩個或更多的子 集,以使得每個數(shù)據(jù)位至少在各個子集中出現(xiàn)一次。這P個奇偶校驗 位被劃分為第一組奇偶校驗位和第二組奇偶校驗位。第一組奇偶校驗 位進(jìn)一步地被劃分為相同數(shù)目的子集,如同數(shù)據(jù)位以數(shù)據(jù)位子集與第 一組奇偶校驗位子集之間的l:l對應(yīng)而進(jìn)行劃分。每個數(shù)據(jù)位子集根 據(jù)其相應(yīng)的第一奇偶校驗位子集進(jìn)行解碼,以生成相應(yīng)的解碼數(shù)據(jù)。 如果這些解碼中的一個失敗了,那么那個解碼已失敗的數(shù)據(jù)位子集再 次至少部分地根據(jù)第二組奇偶校驗位進(jìn)行解碼,以生成相應(yīng)的解碼數(shù) 據(jù)。最后,將所有數(shù)據(jù)位子集的解碼數(shù)據(jù)進(jìn)行組合,以生成用于M個 數(shù)據(jù)位的總解碼數(shù)據(jù)。
例如,在下面范例情形l中,M-14以及P-12。這14個數(shù)據(jù)位被劃分為兩個子集Gi的最前7位和、的最前7位。奇偶校驗
位的第一組是"的最后4位和、的最后4位。奇偶校驗位的第
二組是,。對應(yīng)于"的最前7位的第一奇偶校驗位子集是C! 的
最后4位。對應(yīng)于、的最前7位的第一奇偶校驗位子集是"的 最后4位。A的最前7位僅采用q的最后4位,由[ll, 7, 3
的解碼器進(jìn)行解碼。、的最前7位僅采用、的最后4位,由[ll, 7, 31的解碼器進(jìn)行解碼。如果解碼^ 失敗但解碼^成功,那么 所解碼的G自釆用[15, 7, 5的編碼器進(jìn)行編碼以再生^, A與,進(jìn)
行異或運算以得到、Cl和!進(jìn)行級聯(lián)以得到1 ,以及1采用[15, 7, 5的解碼器進(jìn)行解碼,由此再生代碼G。所再生的^的最前7位
和所解碼的Q 的最前7位進(jìn)行級聯(lián),以生成所解碼的14位首標(biāo)。
優(yōu)選地,數(shù)據(jù)位子集的解碼數(shù)據(jù)通過組裝數(shù)據(jù)位子集的解碼數(shù)據(jù) 而進(jìn)行組合。例如,在下面的范例情形l中,所解碼的"的最前7 位和所解碼的C2 的最前7位進(jìn)行級聯(lián),以生成所解碼的U位首標(biāo)。 優(yōu)選地,這些數(shù)據(jù)位子集是不相交的。例如,在下面的范例情形
l中,A的最前7位和、的最前7位是不相交的兩個子集。
優(yōu)選地,所有數(shù)據(jù)位子集都具有相同的大小。例如,在下面的范 例情形1中,所有數(shù)據(jù)位子集都具有7個位。
優(yōu)選地,每個數(shù)據(jù)子集根據(jù)相應(yīng)的第一組奇偶校驗位子集、采用 相應(yīng)的第一解碼方案進(jìn)行解碼;以及根據(jù)數(shù)據(jù)位子集的第二組奇偶校 驗位的解碼包含了要采用相應(yīng)的第二解碼方案,這里的數(shù)據(jù)位子集已 由第一解碼方案解碼失敗。例如,在下面的范例情形l中,第一解碼 方案是[ll, 7, 31的方案,第二解碼方案是[15, 7, 5的方案。
優(yōu)選地,對于這些數(shù)據(jù)位子集中的至少一個,相應(yīng)的第一和第二 解碼方案使用通用的解碼方法。例如,將這種選擇擴展至本發(fā)明的第 五方面的范例情形1,第一解碼方案和第二解碼方案都是[ll, 7, 3的方案。第一解碼方案采用所存儲的奇偶校驗位,這個奇偶校驗位由
未被交換次序的首標(biāo)位進(jìn)行編碼而生成。如果第一組7個存儲數(shù)據(jù)位 的解碼失敗但最后7個存儲數(shù)據(jù)位的解碼成功,那么成功地被解碼的 數(shù)據(jù)位被交換次序并進(jìn)行編碼,以再生相應(yīng)的奇偶校驗位。這些所再 生的奇偶校驗位與最后4位的存儲奇偶校驗位進(jìn)行異或運算,以再生 最前7個被交換次序的首標(biāo)位的奇偶校驗位,這些奇偶校驗位被用于 第二次嘗試通過執(zhí)行已交換次序的最前7個存儲數(shù)據(jù)位的解碼來解碼 最前7個存儲數(shù)據(jù)位。
優(yōu)選地,所有的第一解碼方案都是相同的。例如,在下面的范例 情形1中,所有的第一解碼方案都是[ll, 7, 3的、同樣的方案。
優(yōu)選地,所有的第二解碼方案都是相同的。例如,在下面的范例 情形1中,所有的第二解碼方案都是15, 7, 5的、同樣的方案。
本發(fā)明的第十個方面是一種從具有N>M位的代碼表示中解碼出 M個數(shù)據(jù)位的方法。至多N-M位的所選子集從這N位中被去除,由 此產(chǎn)生剩余位的集合。剩余位被劃分為兩個或更多子集,以使得每個 剩余位是子集中至少一個的成員。每個剩余位子集僅根據(jù)它自己的位 進(jìn)行解碼,以生成相應(yīng)的解碼數(shù)據(jù)。如果剩余位子集中的一個解碼失
敗,那個剩余位子集至少部分地根據(jù)被去除的所選子集進(jìn)行解碼,以 生成剩余位子集的相應(yīng)解碼數(shù)據(jù)。最后,將所有的解碼數(shù)據(jù)進(jìn)行組合 以生成用于M數(shù)據(jù)位的總解碼數(shù)據(jù)。注意,因為本發(fā)明的第十個方 面不需要使用單獨的、區(qū)別于數(shù)據(jù)位的奇偶校驗位,本發(fā)明的這個方 面可以同時應(yīng)用到系統(tǒng)編碼和非系統(tǒng)編碼。
例如,在下面的范例情形1中,M-14以及N-26。被去除的所
選子集是P。剩余位被劃分為兩個子集,^ 和G 。、 僅根據(jù) 其自己的11位進(jìn)行解碼,而不需要其它信息,作為結(jié)果的解碼字的
最前7位為對應(yīng)于^ 的解碼數(shù)據(jù)。2 僅根據(jù)其自己的ll位進(jìn)行 解碼,而不需要其它信息,作為結(jié)果的解碼字的最前7位為對應(yīng)于
2 的解碼數(shù)據(jù)。如果解碼^失敗但解碼Q 成功,那么解碼的4 采用[l5, 7, 5的編碼器進(jìn)行編碼以再生A, ^與戶進(jìn)行異或
運算以獲得、"和i進(jìn)行級聯(lián)以獲得、,以及^采用[15, 7, 5
的解碼器進(jìn)行解碼。所解碼的e^的最前7位和所解碼的《一 的最前 7位進(jìn)行級聯(lián)以生成解碼的14位首標(biāo)。
優(yōu)選地,剩余位子集的解碼數(shù)據(jù)通過組裝剩余位子集的解碼數(shù)據(jù)
而進(jìn)行組合。例如,在下面的范例情形l中,所解碼的^ 的最前7 位和所解碼的的最前7位進(jìn)行級聯(lián)以生成解碼的14位首標(biāo)。
優(yōu)選地,這些剩余位子集是不相交的。例如,在下面的范例情形
l中,Gi的最前7位和^的最前7位是不相交的兩個子集。
優(yōu)選地,所有剩余位子集都具有相同的大小。例如,在下面的范 例情形1中,所有數(shù)據(jù)位子集都具有7位。
優(yōu)選地,每個剩余位子集根據(jù)其自己的位、采用相應(yīng)的第一解碼 方案進(jìn)行解碼;以及根據(jù)剩余位子集的被去除所選子集的解碼包括釆 用相應(yīng)的第二解碼方案,這里的剩余位子集已由第一解碼方案解碼失 敗。例如,在下面的范例情形1中,第一解碼方案是[ll, 7, 3的方 案,以及第二解碼方案是15, 7, 5的方案。
優(yōu)選地,對于這些剩余位子集中的至少一個,相應(yīng)的第一和第二 解碼方案使用通用的解碼方法。例如,將這種選擇擴展至本發(fā)明第五 方面的范例情形1,第一解碼方案和第二解碼方案都是[ll, 7, 3j的 方案。第一解碼方案采用所存儲的奇偶校驗位,這個奇偶校驗位由對 未被交換次序的首標(biāo)位進(jìn)行編碼而生成。如果最前7個存儲數(shù)據(jù)位的 解碼失敗但最后7個存儲數(shù)據(jù)位的解碼成功,那么成功地解碼的數(shù)據(jù) 位被交換次序并進(jìn)行編碼,以再生相應(yīng)的奇偶校驗位。這些再生的奇 偶校驗位與最后4位的存儲奇偶校驗位進(jìn)行異或運算,以再生最前7 個被交換次序的首標(biāo)位的奇偶校驗位,這些奇偶校驗位被用于第二次 嘗試通過執(zhí)行已交換次序的最前7個存儲數(shù)據(jù)位的解碼來解碼最前7 個存儲數(shù)據(jù)位。
優(yōu)選地,所有的第一解碼方案都是相同的。例如,在下面的范例情形1中,所有的第一解碼方案都是同樣的[ll, 7, 3的方案。
優(yōu)選地,所有的第二解碼方案都是相同的。例如,在下面的范例 情形1中,所有的第二解碼方案都是同樣的[15, 7, 5I的方案。
為較好的理解本發(fā)明其中的實施例,以附圖作為參考,其中相似 的附圖標(biāo)記在本文中表示對應(yīng)的部件或單元,其中 圖l是本發(fā)明的設(shè)備的優(yōu)選實施例的方框圖; 圖2是含有圖1的多階段編碼器的組件的方框圖; 圖3是當(dāng)在圖2的狀態(tài)機控制邏輯方框中執(zhí)行的編碼過程的流程
圖4是含有圖1的多階段解碼器的組件的方框圖5是含有圖4的雙模解碼器單元的組件的方框圖6是關(guān)于范例情形1的解碼過程的流程圖7是關(guān)于范例情形2的解碼過程的流程圖8是關(guān)于范例情形1的解碼過程的示意性圖示說明;
圖9是關(guān)于范例情形2的CER性能對SER性能的圖解圖示說明;
圖IO是關(guān)于范例情形1和范例情形2的用于塊碼[15, 7, 5的
生成器矩陣的描述;
圖11是關(guān)于范例情形1和范例情形2的用于塊碼[15, 7, 5的
奇偶校驗矩陣"/T,的描述;
圖12是關(guān)于范例情形1和范例情形2的用于塊碼[15, 7, 5的
雙重錯誤位置的表格描述;
圖13是關(guān)于范例情形1和范例情形2的用于塊碼11, 7, 3的
奇偶校驗矩陣〃〃;的描述;
圖14是關(guān)于范例情形1的用于塊碼[ll, 7, 3的單個錯誤位置
的表格描述。
具體實施方式
本發(fā)明公開了 一種為了確保被存儲信息可靠性而提供錯誤校正 編碼方案的方法和設(shè)備。這個所提出的方法接近長代碼的性能,然而 卻避免了長代碼編碼器和解碼器的電路復(fù)雜性。因此,獲得了硬件和 軟件實現(xiàn)的尺寸的減小和復(fù)雜性的降低。
術(shù)語"解碼數(shù)據(jù)的修正"在這里是指從解碼數(shù)據(jù)的第一數(shù)值到解 碼數(shù)據(jù)的第二數(shù)值的修正。根據(jù)本發(fā)明提供的方法,某個短代碼字表 示的解碼數(shù)據(jù)的修正是在其它短代碼字表示基礎(chǔ)上實現(xiàn)的。因此,用 于其解碼已失敗的代碼字表示的附加解碼嘗試根據(jù)其它短代碼字表 示的解碼數(shù)據(jù)而執(zhí)行。
術(shù)語"代碼字解碼數(shù)據(jù)的數(shù)值"在這里是指任何有效的數(shù)值??商?代地,這個術(shù)語備選地可以指例如因為解碼失敗而沒有當(dāng)前已知數(shù)值 的邏輯指示。因此,解碼數(shù)據(jù)的"修正,,可以是從一個有效數(shù)值到另一 有效數(shù)值、從解碼失敗的邏輯指示到一個有效數(shù)值、或從一個有效數(shù) 值到解碼失敗的邏輯指示的修正。
在本發(fā)明中,術(shù)語"子集"這里同時是指小于其所屬于的全集的合 適子集,以及是指全集它自己。
應(yīng)當(dāng)理解, 一個短字的解碼數(shù)據(jù)的修正根據(jù)其它短字的解碼數(shù) 據(jù),可由本發(fā)明作為一個可選項所提供,以及不需要在解碼長代碼字 的每個實例期間發(fā)生。對于具有錯誤特定出現(xiàn)的長字的實例,可以是 所有短代碼字表示都在第一次嘗試中成功地解碼的情形。在這種情形 下,不應(yīng)用解碼數(shù)據(jù)的修正。這種修改僅在用于至少一個短字的解碼 已失敗的情形才會被執(zhí)行。因此,術(shù)語"實現(xiàn)修正,,意指"根據(jù)需要可 選擇地實現(xiàn)修正"。
本發(fā)明方法的優(yōu)選實施例在這里連同范例情形-1和范例情形-2 一起進(jìn)行描述。這兩個范例情形公開了提供錯誤校正代碼方案的設(shè) 備,其中這個設(shè)備特別地、能很好地適合于數(shù)據(jù)存儲的使用。因此, 本發(fā)明的優(yōu)選設(shè)備包括一種解碼器,它被提供用于增加特定字的延遲 以便在解碼過程中應(yīng)用進(jìn)一步的步驟。由于峰延遲(在很少的例子 中),這個錯誤校正編碼方案可能并不適用于一些具有固定限制延遲的同步或半同步流的通信系統(tǒng)。
需要強調(diào)的是,本發(fā)明的方法所引入的平均延遲并不比在本領(lǐng)域 中已知方法所引入的高。然而,在其中延遲相當(dāng)多地增加的少有例子 中,本發(fā)明的方法特別地適用于存儲媒體,較少地適用于同步通信系 統(tǒng)。
范例1:
這里提供了一種包括獨立位的閃存設(shè)備,其中每一個核心單元有 一個位并且信元錯誤率(CER)是《7xl(T5。因為閃存設(shè)備中每一單元 具有一位,所以位元錯誤率(BER)也是4,7^10'5。閃存設(shè)備的閃存存 儲器包括許多塊;每個塊被定義為有多頁。每頁包括首標(biāo)或控制區(qū)以 及多個扇區(qū),每一扇區(qū)長為512數(shù)據(jù)位。當(dāng)提供用于包含14位的每 個塊的首標(biāo)的可靠存儲以及實現(xiàn)首標(biāo)錯誤率(HER)性能低于10-1G (HER<10 —1Q)時,需要在用于閃存設(shè)備的快速控制器中設(shè)計錯誤校 正編碼方案。
為了在具有《 "0'SCER輸入的14位集合上提供HER<1(T1G的 性能目標(biāo),需要3位錯誤校正能力。 一個錯誤的校正(即4 ^ 1)可提 供HER 3Jxl(T7以及兩個錯誤的校正(即t;2:)可提供
因此,需要三錯誤校正[29, 14BCH代碼,其中代碼速率R等 于0.4828(即14/29 )以及首標(biāo)采用一個29位長度的代碼字進(jìn)行表示。
編碼和解碼BCH代碼以及構(gòu)建這種電路的方式的文獻(xiàn)在過去的 多年里(參看文獻(xiàn)[16-[47)已被詳盡地研究了。當(dāng)使用本發(fā)明的方 法時,編碼和解碼的例子可被提供以用于獲得相同的HER目標(biāo)性能。 以下所敘述的例子利用了被簡化的控制器,這個控制器包括僅能校正 兩個錯誤而不是三個錯誤的組件代碼。而且,因為長度的減少不一定 是組件代碼能夠校正的錯誤數(shù)目(是2而不是3)的直接結(jié)果,但是 替代地它主要以整個方案結(jié)構(gòu)來確定代碼長度,該代碼長度需要僅26 位用于每個首標(biāo),而不是29位代碼(即較高的代碼速率 R= 14/26-0.5385可被實現(xiàn))。在閃存首標(biāo)大小上所獲的減少增益是
3111.54%。這個優(yōu)點可以在下面的非限制例子中而被實現(xiàn)-1x15, [+lx7 ,問-7xl5 , (U)
其中GF( 2 )是用于具有兩個單元的伽羅瓦有限場(Galois Finite Filed)的符號,'£'被定義為包含代碼字的行向量,'沮'被定義為包含 7個信息位的行向量,以及<(7被定義為系統(tǒng)性編碼矩陣。 = 8x1 ,[用-8xl5 (1.2)
其中^為包含代碼字的行向量,?為包含8位故障碼的列向量,
以及'ff是奇偶校驗檢查矩陣,以及符號o『表示轉(zhuǎn)置,所以^就是一
個列向量。
在步驟2中,8位故障碼被用于存取表290 (參看圖12 )。表290 提供了兩個4位數(shù)字,這樣4位數(shù)字中的每一個就定義了在15位代 碼字中單個錯誤的位置。注意,在表2卯中數(shù)值,O,是指'無錯誤,的情形。如果表290包含 在特定條目中的兩個數(shù)字,其中一個數(shù)值是零而另一個數(shù)值是非零, 那么這表示僅有一個錯誤而不是兩個。進(jìn)一步地,在故障碼自身中零 表示根本沒有錯誤。通過假定故障碼向量的最上面的位是最低有效位 (LSB),而最底下的位是最高有效位(MSB),以獲得故障碼數(shù)值。 注意,在這個表中僅給出了 121個數(shù)值(故障碼的256個可能數(shù)值中 的)。由于解碼器還包括錯誤檢測能力,那么對于未在表290中給出 的情形,有超過兩個的錯誤(參看圖12)。然而,解碼器不能指向它 們的位置。
由于在其中這個代碼被生成的特定方式中,用于單個位校正的子 矩陣'H^'可被提供。單個位的校正被應(yīng)用于同樣的代碼字的最前u
位。子矩陣'^^包括'H'矩陣的最前4行和最前11列。15位字的最 前11位的解碼過程在兩個相似的步驟中按以下方式而被應(yīng)用
在如上所述的第一步驟中,故障碼計算通過在GF (2)上釆用 矩陣乘法操作按如下公式被執(zhí)行
《-^w'£r , [£〗-1"1 , [£]-4x1 , [F]-4xH (1.3)
其中為包含讀取字的行向量,^為包含4位故障碼的列向量,
以及^^是'P的子矩陣,它包含的所述的最前4行和所迷的最前
ll列。塊代碼[ll, 7, 3!的矩陣^ 300被示于圖13中。
在解碼過程的第二步驟中,錯誤位置是從4位故障碼310中提取 的。這個具有一個,O,值的故障碼位定義了'沒有錯誤,的情形。
基于15位代碼字的最前11位的成功解碼,(1.1)中的矩陣'力' 可用于再生15位代碼字的最后4位,即使這最后4位不被提供給解 碼器。既然最前11位已經(jīng)被解碼了,解碼器的大小被減少以便直接 地從11解碼位中的最前7位中再生最后4位。這意味著最后4位的
再生僅需要矩陣:^的最后4列。
采用上述的所生成的代碼字,單個的[29, 14]的BCH代碼可用
被表示為Ci^的、兩個不相交字的集合進(jìn)行替換。d和^是兩個系統(tǒng)性代碼字,每個長為15。不相交字^包含7個信息位和8個奇偶 校驗位,而不相交字Q包含剩余的7個信息位和它們所關(guān)聯(lián)的8個 奇偶校驗位。因此,首標(biāo)的、相同的14信息位整個地被獲得了。編 碼過程根據(jù)在(1.1)中所示的上述公式而被完成。
兩個不相交字C" C2中的每個的最后4個奇偶校驗位被定義為子 集pi,h。上述被稱為整個數(shù)據(jù)的函數(shù)僅僅是這些子集(即P^P沖P2」 的異或運算(參見圖8)。在編碼每個7信息位之后,這兩個子集Pi和 P^從C!和C2可被提取。剩余的位然后被寫入閃存設(shè)備(即僅僅是C!的 最前11位和G的最前11位)。用T'所表示的整個數(shù)據(jù)的統(tǒng)一函數(shù)被 定義位統(tǒng)一數(shù)據(jù),因為它統(tǒng)一了數(shù)據(jù)的不相交子組。這個統(tǒng)一集合P 也,皮寫入閃存設(shè)備。
這個例子因此將26 (11 + 11 + 4)位一起合并。進(jìn)一步強調(diào)的是 寫入閃存設(shè)備的位并不包括位Pi、 P2,因為在代碼字被傳送到物理存 儲介質(zhì)之前這些位已從該代碼字中被提取。在解碼過程中再生的被提 取的位在下文中被定義為"隱位"。如上文中解釋的,在最前11位被 成功解碼的情形下,剩余的4位可以通過編碼過程而被再生。正如在 下面"從閃存設(shè)備中讀取首標(biāo)(解碼),,的部分所詳述的那樣,解碼過
程利用了這一特性。
本領(lǐng)域所屬技術(shù)人員能夠理解,公平的比較情形是輕而易舉的, 并且這樣的解碼和編碼過程的實現(xiàn)是可行的。這個創(chuàng)新的錯誤校正編 碼方案的結(jié)果就是指按如下的寫入(編碼)和讀出(解碼)操作
1.將首標(biāo)寫入閃存設(shè)備(編碼)
使用首標(biāo)的7個信息位的第一集合對被定義為d的第一[15, 7
中塊代碼進(jìn)行編碼,并使用以上所詳述的、關(guān)于公式(1.1)的過程。 用P!表示15位的代碼字d的位12-15。
使用首標(biāo)的7個信息位的第二集合對被定義為C2的第二[15, 7
中塊代碼進(jìn)行編碼,并使用以上所詳述的、關(guān)于公式(1.1)的過程。 用P2表示15位的代碼字C2的位12-15。
將集合Pi和P2進(jìn)行位與位地異或運算,以獲得被定義為奇偶校驗位-2或者位"P"的4個位。
將d的位1-11和C2的位1-11寫入閃存設(shè)備。將d的位1-11
記為、C2的位l-ll記為"。
將4位"P"寫入閃存設(shè)備。
2. 從FLASH設(shè)備中讀出首標(biāo)(解碼)
讀取兩個ii位字。結(jié)果是兩個字,被表示為^ 和^ 。如果
在閃存中沒有錯誤,那么q 以及^ —q 。如果有錯誤,
那么^ 或、包括與最初被寫入閃存的代碼字"和q 相關(guān)的
錯誤。需要注意的是,在有錯誤的情形下,那么^ 或^會分別地 被表示為字(不必為代碼字)。
根據(jù)以上所詳述的、關(guān)于公式(1.3)的過程,即單個錯誤校正
解碼器,來解碼字^ 和^ :
如果兩個字成功地被解碼(因為! 有0或1個錯誤以及^ 有 0或1個錯誤)-首標(biāo)成功地被讀取為11位代碼字A一的最前7位以
及11位代碼字"的最前7位。在一個非系統(tǒng)代碼情形中,需要進(jìn) 一步的信息(舉例來說, 一個表格或者其它轉(zhuǎn)換)以成功地讀取首標(biāo)。 >如果兩個字解碼都失敗(因為h有2個或更多錯誤以及
"有2個或更多錯誤)-首標(biāo)就不能成功地被讀取。
> 如果一個字解碼失敗,而另一個字解碼成功(因為一個字有 0或1個錯誤而另一個字有2個或更多錯誤)-解碼過程進(jìn)入到步驟 3。
3. 如果恰好只有一個子碼失敗就讀取首標(biāo)
■從閃存設(shè)備讀取位,。這些位被定義為》而不是P,因為在戶 與"P,,之間也可能存在差異。當(dāng),位從閃存設(shè)備中被讀取時,可以假 定閃存設(shè)備引入了錯誤。
如果解碼"失敗,而解碼^ 成功,巧就會按照下述方式而
從Q和戶中再生retort
> 通過應(yīng)用以上所詳述的、關(guān)于>^式(1.1)的編碼過程,從、 中再生G的隱^位。
>將位,與隱位^進(jìn)行異或運算以生成^ 。
>通過將位,安排在G!中的位位置1-11處以及將位A安排
在C,中的位位置12-15處,而從H和i中生成"。
■ 通過應(yīng)用以上所詳述的、關(guān)于公式(1.2)的解碼過程,使用
作為兩個錯誤校正15, 7塊代碼的所有15位對A解碼。
■ 如果解碼成功,那么首標(biāo)就成功地被讀取。否則,首標(biāo)的讀 取失敗。
■ 如果解碼^"""失敗,而解碼^f一成功,那么以如下方式從
戶A抓 g g
lCi 和P中再生A。
> 通過應(yīng)用以上所詳述的、關(guān)于^>式(1.1)的編碼過程,從
Cl的隱^位中再生、。 — >將位,與再生的隱位^進(jìn)行異或運算以生成,2。
>通過將位^"^安排在A中的位位置1-11處以及將位A安排在
"中的位位置12-15處,而從^ 和A中生成C2。
■ 通過應(yīng)用以上所詳述的、關(guān)于公式(1.2)的解碼過程,使用 作為兩個錯誤校正[15, 71塊代碼的所有1S位對^解碼。
■ 如果解碼成功,那么首標(biāo)就成功地被讀取。否則,首標(biāo)的讀
取失敗。
^辨',^/時炎#為、浙
下面一部分詳細(xì)地敘述了本發(fā)明方法中所執(zhí)行的數(shù)學(xué)分析,以評 估在尺寸和電路復(fù)雜性方面所獲得的收益。關(guān)于控制器復(fù)雜性方面的 收益是顯而易見的,由于能夠校正兩個錯誤的解碼器的實現(xiàn)比能夠校 正3個錯誤的解碼器的實現(xiàn)要更簡單。
為了計算參考方案,令/ 被定義為閃存設(shè)備的輸入BER (即,在我們的例子中"'"w )。解碼器的HER性能是根據(jù)二項式分布按 下述公式所給出的,其中[11=15, k=5, t=2.
24 f 24、
=2.1"0"0 , (1,4) — ,
其中,"t,,是指錯誤校正能力(也就是說,能夠被校正的錯誤位
的最大數(shù)量)如下所示H(d'iW」。因為根據(jù)(1.4),當(dāng)HER高于 10"。時,校正兩個錯誤是不夠的,參考方案被迫使用三-錯誤-校正 BCH碼。現(xiàn)在轉(zhuǎn)入使用本發(fā)明方案的HER性能的計算,本發(fā)明的子 碼錯誤率(SCER),其中一li,k^,d一,護(hù)1],根據(jù)如下公式所給出
v j j
L2'1(T7 (l,S)
堿、乂 JE^C*
HER性能的第 一 個貢獻(xiàn)者是在首標(biāo)中兩個子碼的失敗解碼的情 形。這個概率按如下進(jìn)行計算
HER性能的第二個貢獻(xiàn)者是在第一階段的一個字的失敗解碼的 情形,以及在第二階段超過兩個錯誤(當(dāng)試圖解碼超過有15位的兩 個錯誤時)的失敗解碼的情形。這個概率按如下進(jìn)行計算
郎i 2,2 = 2. SC五i^薩〃'(1 — )'=義4- iO-,1 (1.7)
將兩個可能性概率進(jìn)行組合得到
Iffi及2 + EB^2i2 w ^fi!S^ = 9,4 '1(T11 (1,8)
HER性能的笫二個貢獻(xiàn)者好五及2, 2,按如下方式進(jìn)行計算 左邊的兩個因子^^ww"夂^^^被2相乘,因為對于第一個失 敗解碼的子碼和第二個成功解碼的子碼而言,存在兩個概率。根據(jù)單 個錯誤校正塊代碼,當(dāng)?shù)谝蛔哟a解碼失敗而第二子碼解碼成功,就獲 得了第一概率。根據(jù)單個錯誤校正塊代碼,當(dāng)?shù)谝蛔哟a解碼成功而第 二子碼解碼失敗,就獲得了第二概率。
最右邊的因子^;是兩個數(shù)相除的結(jié)果。這個結(jié)果對應(yīng)于這樣 的概率即假如在11位的子集中存在超過T個的錯誤,那么在15位
37的集合中存在超過兩個的錯誤。將在11位子集中超過1個錯誤的事
件定義為事件"x",將在15位集合中超過2個錯誤的事件定義為事件 "y"。因此,事件P④根據(jù)Bayes定律按如下公式可得到
尸(,KH^p2 (!,9)
事件P(y, x)是指在15位集合中存在超過2個錯誤,并且在 11位子集中存在超過1個錯誤。很明顯,在15位集合中所有超過2 個錯誤的情形包含這些事件,即15位的子集包括超過1個錯誤。因 此,p&中pw,并且在公式(1.7)中最右邊的元素是P(y)/P(x)。
范例情形2:
這里也得到了同樣的閃存設(shè)備,如上面在范例情形1中所公開 的,即每單元可放入一位以及信元錯誤率(CER)為4.7"0'5。設(shè)計 包含解碼器的閃存設(shè)備是必要的,這樣解碼器就可被執(zhí)行用以提供包 含512字節(jié)位(每一8位中的)的扇區(qū)數(shù)據(jù)區(qū)的可靠存儲。既然數(shù)據(jù) 自己決不比每一扇區(qū)的首標(biāo)重要,那么用于該數(shù)據(jù)的目標(biāo)性能,即 SER(扇區(qū)錯誤率),應(yīng)低于Sx101閃存設(shè)備的設(shè)計被限于單個的 ECC (錯誤校正代碼)硬件(即15位的塊代碼,如已對于首標(biāo)所設(shè) 計的)。
t - l錯誤的校正得到了 SER l,36x104。
t * 2錯誤的校正得到了 SHR"2.8xKT8。代碼速率i 是由被代碼長度"'所分割的信息位的數(shù)目&
所定義的。換句話說,采用總的「"2^"l-5秘代碼字來表示長為 4096位的扇區(qū),這提供了 R巧i&8/(5g6"5HW^的總代碼速率。因此, 具有11 = 7/15 = 0.466的代碼速率的兩錯誤校正15, 7, 5I塊代碼就足夠 了。
當(dāng)保持上文所述的相同限制時,替代采用每個代碼字長15的、 586代碼字的設(shè)計,這里提供了一種新設(shè)計,包含7信息位和4奇偶 校驗位的586刪截碼。來自所有子代碼的4奇偶校驗位的第二集合進(jìn) 行異或運算,而這個4位結(jié)果被存儲于閃存設(shè)備中。以這種方式,本 發(fā)明的方法采用同樣的硬件設(shè)計以及對于每單元提供了較高的代碼速率r ^ 4096/(^^1h4)k),es位,從而能夠?qū)崿F(xiàn)性能指標(biāo)。好處在
于閃存設(shè)備大小顯著地減小了26'6%。扇區(qū)的讀取和寫入操作可按如 下而被執(zhí)行
1. 將扇區(qū)寫入閃存設(shè)備(編碼)
讓采用扇區(qū)的4096個信息位,編碼[15, 7, 5塊代碼的586個代碼字。
畫對所有586個代碼字的位12-15進(jìn)行異或運算,以獲得被定義 為奇偶校驗-2位的4位。
疆寫入閃存設(shè)備的所有586個代碼字的位1-11。 麗將4個奇偶校驗-2位寫入閃存i殳備。
2. 從閃存設(shè)備中讀取扇區(qū)(解碼) 躍從閃存設(shè)備中讀取長為11的586個代碼字。
羅采用11, 7, 3的塊代碼解碼器的單個錯誤校正解碼器來解碼 這586個字。
醫(yī)如果所有代碼字都成功地被解碼,那么扇區(qū)就成功地被解碼。 麗如果多于一個字未被編碼,則在解碼扇區(qū)時出現(xiàn)故障。 -如果單個字未能解碼而其它585個字已成功地解碼,執(zhí)行以下
步驟
> 再生所有585個字的隱奇偶校驗位12-15,它們通過使用以 上詳述的、關(guān)于公式(1.1)的編碼過程而成功地被解碼。
> 從閃存設(shè)備中讀取奇偶校驗-2位。
> 將奇偶校驗-2位和已成功地解碼的所有585個字的隱奇偶校 驗位12-15進(jìn)行異或運算,以便估計未被解碼的第586個字的位12-15。
>使用具有雙錯誤校正[15, 7, 5的塊代碼解碼器,并以上詳 迷的關(guān)于公式(1.2)的過程,使用所有15位,現(xiàn)在再次解碼已失敗 的字。如果解碼成功,那么扇區(qū)也就成功地被讀取了。否則,扇區(qū)解
碼失敗。
釆用范例情形2的本發(fā)明的方法,可獲得以下的優(yōu)點
* 減少了閃存設(shè)備的大小(在單元數(shù)目方面減少26% )或者提供了較高的代碼速率(以0.635替代0.466 )。 * 同樣的SER性能要求能被實現(xiàn)。
*具有同樣的硬件復(fù)雜性-采用了[15, 7, 5的塊代碼編碼器/ 解碼器。
對首標(biāo)和數(shù)據(jù)編碼及解碼進(jìn)程采用了統(tǒng)一的硬件。 態(tài)浙橫承-2 ^炎夢為Vf.'
SER分析提供了參考方案與本發(fā)明方案之間的比較,其被示于 圖9中。用于獲得這些值的公式在下面的節(jié)中被給出。 1.參考方案(曲線262 )
令^表示閃存設(shè)備的CER性能(即在我們的例子中^^'7^^)。 [^1^=7,2塊代碼解碼器的幀錯誤率(FER)應(yīng)為
".7xl0"
(2.1)
順,一"=|;卩,)?'.(1-尸)
w 、 z 乂
為
本發(fā)明的SER性能([n一5,^7'一2塊代碼的586個代碼字)應(yīng)
鄉(xiāng)-1-(卜尸Ul卿,一。-"-2.8"0-8 糾 2.本發(fā)明方案(曲線264)
1^11,—7^13塊代碼解碼器的幀錯誤率(FER)應(yīng)為
=1.2'1(T7 (2.3)
閃存設(shè)備的CER性能的第一貢獻(xiàn)者是扇區(qū)中兩個或多個失敗字 的情形。這個概率由下式來定義
* 乂
鵬"=2 r .咪駅-尸u
m、 ^
45。0.9 (2,4)
閃存設(shè)備的CER性能的第二貢獻(xiàn)者是在第一階段中的單個字失 敗以及在第二階段中多于兩個錯誤(當(dāng)以能解碼達(dá)到兩個錯誤的解碼 器來解碼15位時)的情形。這個概率由下式來定義
=3.0-1 。4 (2.5)將這兩個貢獻(xiàn)者組合起來可得到這樣的概率
5E 2 = ^S1^,!十《錢3 = 3,3' I (T* (2.6)
現(xiàn)在參看圖1,這里示出了包含本發(fā)明設(shè)備的編碼器和解碼器的 方框圖。本發(fā)明的設(shè)備l包含用于在設(shè)備l內(nèi)接收來自應(yīng)用的信息以 及存儲它的主界面模塊10。
主界面10將信息傳送到多階段編碼器20。這個多階段編碼器20 執(zhí)行如上所述的、'將首標(biāo)寫入閃存設(shè)備,的過程,并且在圖2和3中 給出了進(jìn)一步的細(xì)節(jié)。多階段編碼器20將K信息位的塊轉(zhuǎn)換為N位 代碼字,其中N〉K。對于范例情形1, K^"以及N《6。
N-位塊然后被傳送到數(shù)字化處理單元30。數(shù)字化處理單元30被 提供用于如范例情形2所述的將數(shù)據(jù)扇區(qū)加入這個塊,以及在這個塊 被寫入單元之前執(zhí)行其它數(shù)字化進(jìn)程。這樣的數(shù)字化進(jìn)程可選地包含 交織和灰度映射(gray mapping)進(jìn)程。這個數(shù)字化處理單元30可 以是本領(lǐng)域已知的任何處理單元。
已處理的N-位塊然后被傳送到存儲設(shè)備40,它被提供用來存儲 物理信息位。
一旦從存儲設(shè)備40中讀取塊,這個塊就被傳送到數(shù)字化反向處 理單元50,以便將這個N-位塊轉(zhuǎn)換為與呈現(xiàn)在多階段編碼器20的輸 出端的相同的格式。
這個N-位塊然后從數(shù)字化反向處理單元50被傳送到多階段解碼 器100。多階段解碼器100被提供用于從26位首標(biāo)代碼字中恢復(fù)首標(biāo) 的14信息位,如上在'從閃存設(shè)備中讀取首標(biāo),一節(jié)中所述的,以及在 圖4-6中給出了進(jìn)一步的細(xì)節(jié)。
這個所恢復(fù)的首標(biāo)信息位然后被傳送回到主界面10。
現(xiàn)在參看圖2,它示出了包含圖1的多階段編碼器20的組件的 方框圖。14信息位從主界面被傳送以及被存儲在隨機存取存儲器 (RAM) 21的上部(不相交的區(qū))中。RAM 21的不相交區(qū)提供了 用于22位的存儲區(qū)域。
狀態(tài)機控制邏輯24被提供用于激活子碼編碼器22,以采用[15,
417, 5j的塊代碼編碼器將14信息位中的最前7信息位編碼成15位。
當(dāng)來自子碼編碼器22的四個新奇偶校驗位(位8-11)被傳送回 到RAM 21的上部(指不相交區(qū))時,這15位中的位12-15被傳送 到聯(lián)合奇偶校驗處理器23。聯(lián)合奇偶校驗處理器23被提供用于將數(shù) 學(xué)壓縮公式(即異或)應(yīng)用在所有子碼的第二類奇偶校驗位。
7信息位的第二集合從RAM 21被傳送到子碼編碼器,并且被編 碼成[15, 7, 5塊代碼字。來自塊代碼的15位的信息位12-15被傳送 到聯(lián)合奇偶校驗處理器23,同時這些被加入的四奇偶校驗位(位8-11 ) 從子碼編碼器22被傳送回RAM 21的上部,這樣就完成了將7位的 第二集合編碼成11信息位的11, 7, 3]代碼。
在聯(lián)合奇偶校驗處理器單元23中,這四信息位12-15與已存儲 在單元23中的四位進(jìn)行位與位之間的異或運算。這個結(jié)果被存儲在 RAM21的下部(指相交區(qū))。
現(xiàn)在參看圖3,它示出了圖2中狀態(tài)機控制邏輯塊中所執(zhí)行的編 碼過程31的流程圖。在第一步32中,子碼數(shù)目W,被初始化為0。
在下一步驟33中,檢查變量實的值是否已達(dá)到值2,即關(guān)于范
例情形l的兩個子碼。由于在編碼過程W《的這個階段中,'N,的值 以1進(jìn)行遞增(步驟34 )從而指示出狀態(tài)機控制邏輯塊24正在編碼 子碼l。
在下一步驟35中,子碼編碼器22 (參看圖2)被激活用于編碼
子碼1。被定義為D^!的位1-11被存儲在RAM 21的上部。
在步驟36中,被定義為皮^的位12-15,被存儲在聯(lián)合部分處理 器(JPP)單元23 (參看圖2)。
在步驟37中,更新這四位12-15 (即與初始的四個O進(jìn)行異或運 算)。該編碼過程接著返回步驟33。
在下一步驟33中,再次檢驗變量^的值在循環(huán)的這個周期中是
否已達(dá)到值2。由于在該階段N-1,該編碼過程進(jìn)行到步驟34,以執(zhí)
行該循環(huán)的第二個周期。
在步驟34,變量^的值遞增1,直到等于2。在步驟35,第二組的7位被編碼為15位的代碼字。被定義為DJP2 的最前11位中的后4位被存儲在RAM 21的上部。該15位的最后4 位被定義為JP2。
在步驟36, JP2位被傳送到JPP單元23 (參見附圖2 )。
在下一步驟37中,好!的位與取的位進(jìn)行位與位地異或運算,以 便生成JPP單元23的四輸出JPP位。
跟隨這個步驟之后,編碼進(jìn)程返回到步驟33。在到達(dá)步驟33的 基礎(chǔ)上,變量'N,的值等于2。因此,在肯定的情形(:^'《:)中,編 碼過程進(jìn)入到步驟38。
在步驟38中,作為結(jié)果的JP位被寫入RAM21的下部。
在最后的步驟39中,編碼過程結(jié)束。
現(xiàn)在參看圖4,它示出了包含圖1的多階段解碼器100的組件的 方框圖。多階段解碼器100的實現(xiàn)可被提供用于在存儲聯(lián)合信息的 RAM單元(JIR) 110和存儲不相交信息的RAM單元(DJIR) 200 之間進(jìn)行區(qū)分。兩類信息之間的區(qū)別是由于這樣的事實,即實際中當(dāng) 考慮先前在數(shù)學(xué)分析中使用JIR單元的概率,可以發(fā)現(xiàn)這種概率相當(dāng) 小。因此,為了減少電路的復(fù)雜性,在這兩個RAM單元之間進(jìn)行區(qū) 分是可取的。
DJIR 200被提供用于存儲第一和第二的不相交信息字的22位。 這些字被傳送到雙模解碼器單元130,其通過控制單元190讀取這22 位。對于如上述的范例情形1,雙模解碼器單元在130在單個錯誤校
正模式中被激活。
如果第一字的解碼成功,那么如果需要的話,DJIR單元200使 用校正位,經(jīng)過控制單元190而被更新。解碼過程然后被重復(fù)用于第 二11位字。
如果第一和第二字的解碼都成功了,那么JIR單元110被留下 不激活。如果這兩個字的解碼都失敗了,那么全部解碼過程就失敗了。 在子字中的一個(笫一子字或第二子字)解碼失敗而不是二個字
都失敗的情形中,那么解碼失敗子字的第二嘗試使用已成功地解碼的子代碼而進(jìn)行。
例如,如果第 一子代碼的解碼已成功而第二子代碼的解碼已失 敗,那么第二嘗試使用已成功地解碼的第一子代碼,解碼笫二子字。
來自JIR單元110的4位通過控制單元190而被讀取并被存儲在中間 RAM (IR)單元170。第一子代碼通過控制單元190而被再讀取到多 階段解碼器20 (參看圖2)。多階段解碼器20再生4個^!位,然后 將它們傳送到IR單元170。聯(lián)合信息處理器(JIP )單元180被提供 用于將;JP和犯i進(jìn)行位與位地異或運算。這個結(jié)果被存儲在雙模解碼
器單元130的[15, 7,5的塊代碼的位置12-15中。第二子代碼從DJIR 中被再讀取到在雙模解碼器單元120的15, 7, 5j的塊代碼的位置 1-11,以生成15位字。在這種情形下,雙模解碼器單元130在雙位錯 誤校正模式中被激活。如果雙模解碼器單元130在雙位錯誤校正模式 中未被解碼,那么全部解碼過程就失敗了。但是, 一旦雙模解碼器單 元130在雙位錯誤校正模式中成功解碼,那么DJIR單元200以校正 位而進(jìn)行更新,讀取過程被表明為成功。
可替代地,如果第二子字(根據(jù)成功解碼被定義為子碼)的解碼 成功并且第一子字解碼失敗,類似的解碼過程被執(zhí)行,這樣正如這里 以上實例所述的第一子字和第二子字之間的操作功能是可以進(jìn)行交 換的。
本發(fā)明在這里被描述為提供了一種用于解碼長碼字的單個解碼 器。然而,本發(fā)明并不僅僅限于單個解碼器,它同樣地可用于提供多 個解碼器,每個可解碼一個比長代碼字位數(shù)少的代碼字。
參看圖5,它示出了圖4的雙模解碼器單元130的方框圖。狀態(tài) 機單元138被提供用于控制由雙模解碼器單元130所執(zhí)行的解碼過 程。
從DJIR單元200、 JIR單元110以及JIP單元(參看圖4 )所 轉(zhuǎn)送的信息位, 一起被收集于數(shù)據(jù)控制器單元132。這樣的收集由狀 態(tài)機單元138進(jìn)行控制。
從數(shù)據(jù)收集器單元132得到的信息位在解碼器核心單元134被解碼。根據(jù)單個錯誤或雙錯誤校正模式,奇偶校驗矩陣單元136被使用 在用于解碼過程所需的計算中。該奇偶校驗矩陣136在每一行包括對 于所接收字的奇偶校驗檢驗。在所檢驗的位置中,矩陣每一個這樣的 行包括一個數(shù)值"l"。檢測進(jìn)程就是對在奇偶校驗行包含數(shù)值'l,的位 置上的字的元素進(jìn)行異或的操作。如果異或操作的結(jié)果返回到0,檢 測進(jìn)程就是成功的。如果所有檢測過程都返回到零,那么所接收的字 就被確定為代碼字。在所接收的字上使用奇偶校驗矩陣136的結(jié)果是 所接收的字的故障碼。包括一個非零數(shù)值的所接收字的故障碼,表明 所接收的字不是代碼字。在所接收字上應(yīng)用奇偶校驗檢驗矩陣136是 根據(jù)以上詳述的、關(guān)于公式(1.2)或(1.3)過程而進(jìn)行的。
關(guān)于范例情形1,在奇偶校驗矩陣單元136 (參見圖5)中所實 現(xiàn)的矩陣被提供以用于單個錯誤和雙重錯誤校正模式,這樣在單個錯 誤校正模式中所使用的矩陣事實上就是在雙重錯誤校正模式上所使 用矩陣的一個子集。
參看圖6,給出了關(guān)于范例情形1的解碼過程的流程圖140。在 初始步驟141中,第一字從DJIR200 (參見圖4)中被讀出。在單個 錯誤校正模式中,雙模式解碼器130被激活。
在下一步驟142中,狀態(tài)機單元138 (參見圖5)檢測第一字的 解碼是否成功。
在肯定的情形下,解碼過程進(jìn)入到步驟150。在步驟1S0中,如 果存在校正,第一字就以校正進(jìn)行更新。在該步驟中,雙模解碼器130 (參見圖4)被激活以用于解碼在單個錯誤校正模式中從DJIR 200 所讀取的第二字。在下一步驟152中,狀態(tài)機單元l38 (參見圖5) 檢查第二字的解碼是否已成功。在否定的情形(即在單個錯誤校正模
式中第一字的解碼已成功而在單個錯誤校正模式中第二字的解碼已 失敗)中,解碼過程進(jìn)入到步驟153。然而,在肯定的情形中-解碼 過程進(jìn)入到步驟156。在步驟156中,如果存在校正,第二字就以該 校正進(jìn)行更新,那么解碼過程就成功地結(jié)束(步驟149)。
在第一否定情形(即如果第一字解碼失敗)中,解碼過程進(jìn)入到步驟"3。在步驟1"中,第二字從DJIR 200 (參見圖4)中被讀取 并且在單個錯誤校正模式中被解碼。
在下一步驟144中,狀態(tài)機單元138 (參見圖5 )檢查第二字解 碼是否已成功。在否定的情形中,全部解碼過程失敗,以及在步驟145 被結(jié)束。然而,在肯定的情形中(即第二字解碼成功),解碼過程繼 續(xù)進(jìn)入到步驟146。
在步驟153中,附加的解碼嘗試采用從已成功地解碼的第一字和 從4個外部聯(lián)合位所獲得的信息,解碼第二字。在這個步驟中,第二 字的11位從DIJIR單元200 (參見圖4)中被再讀取。第二字的最后 4位是由與從單元JIR110中所獲得的4個聯(lián)合位進(jìn)行異或運算的第一 字的隱位中而被再生的。第 一字的隱位通過將解碼器應(yīng)用于從第 一字 所解碼的ll位而獲得。雙模解碼器130 (參見圖4)被激活以用于在 雙錯誤校正模式中解碼第二字。在下一步驟154中,狀態(tài)機單元138 (參見圖5)檢查第二字的所述附加解碼是否已成功。
在否定情形中,全部解碼過程失敗,以及在步驟155被結(jié)束。
然而,在肯定的情形中,解碼過程進(jìn)入到步驟156。在步驟156 中,第二字被更新到DJIR200 (參見圖4),它帶有在用于第二字的 第二解碼嘗試中所發(fā)現(xiàn)的校正。解碼過程然后進(jìn)入最后步驟l49。在 最后步驟149中,這里聲明了成功的解碼過程以及解碼被結(jié)束。
在步驟146中,用于解碼已失敗的第一字的第二嘗試以與在步驟 153中對于第一字所執(zhí)行的解碼過程相似的方式進(jìn)行(這樣在第一字 和第二字之間的操作功能被交換)。
在下一步驟147中,狀態(tài)機單元138 (參看圖5)檢查第一字的 附加的解碼是否已成功。
在否定的情形下,全部解碼過程失敗,并且在步驟155結(jié)束。
然而,在肯定的情形中,解碼過程進(jìn)入到步驟H8。在步驟158 中,第一字被更新到DJIR200 (參見圖4),它帶有在用于第一字的 第二解碼嘗試中所發(fā)現(xiàn)的校正。在最后步驟149中,這里聲明了成功 的解碼過程以及解碼被結(jié)束。
46參考圖7,示出了關(guān)于范例情形2的解碼過程的流程圖。圖7所 描述的解碼過程更適合于軟解碼器的實現(xiàn)。為使用軟解碼器而專門地 實施的單元以虛線進(jìn)行標(biāo)記并且對于范例情形2未被使用。
在初始步驟211中,對在解碼過程中所使用的多個變量執(zhí)行初始 化。這些變量包括成功解碼子代碼的數(shù)目(A),不相交子字的數(shù)目 (:加),至過程的當(dāng)前字的數(shù)目(?),階段計數(shù)器(》),最大階段 值("P),在單個錯誤校正模式中的失敗字的數(shù)目(或在更通用的情 形中的第一解碼器)(/),在單個錯誤校正模式中失敗解碼的最大數(shù) 目(或在更通用的情形中的第一解碼器)(w《)。
向量^被提供用于對每個子代碼存儲值'l',這表示在向量Y 的相應(yīng)元素地址中成功地被解碼。在解碼過程的開始階段,向量Y的 所有元素被初始化為'O,,因為沒有關(guān)于任一子代碼正確性的知識。對 于范例情形2,子字?jǐn)?shù)目KC被初始化為586,因此向量Y中的元素數(shù) 目為586。
變量^被初始化為40,。變量^是當(dāng)前已解碼子代碼的數(shù)字。變 量'P,定義了當(dāng)前在解碼過程中運行的階段數(shù)目,以及'P'被初始化為 '0,。
變量'琴'定義了最大階段數(shù)目。對于范例情形2,僅激活兩個階 段是可能的,即階段-0定義了單錯誤校正模式以及階段-1定義了雙錯 誤校正模式。注意在軟解碼器實現(xiàn)的情況下,可以是多于兩個階段,皮 執(zhí)行的情形,這樣單個子代碼就被解碼多于兩次。
變量定義了在階段-0中未解碼的子字?jǐn)?shù)量。對于范例情形2, 如果在階段-0中有多于一個的失敗,解碼過程就不能再生子字的隱 位。然而,在軟解碼器實現(xiàn)的情況下-根據(jù)特定的設(shè)計考慮,變量4/ 可以被設(shè)置為直至'"c,的任何值。
變量f定義了成功地被解碼子代碼的數(shù)目,以及一旦在所有子
字上嘗試了階段-0且^的值已被設(shè)定,變量'森'就被設(shè)置為^5^"/。 為了避免變量W的新的計算,每次變量T被更新 一 變量獨立于 變量t^而被定義。 一旦變量^達(dá)到值586 (或在通常的情形中的'加'),解碼過程結(jié)束。
在下一步驟212中,聯(lián)合奇偶校驗位(JP位)從JIR單元110 (參見圖4)被傳送到中間RAM 170 (參見圖4)。隨后,對于每個 被成功地解碼的子代碼,J P利用再生的成功地解碼子代碼的隱位而進(jìn) 行更新。
在步驟213中,y與值586("《進(jìn)行比較。既然在解碼過程的這 一點上,,的值少于586(!/^,),那么解碼過程繼續(xù)進(jìn)入到步驟214。
在步驟214中,從DJIR單元200所傳送的不相交的字-0 (即在 循環(huán)的下一應(yīng)用中的字-j)在雙模解碼器130 (參見圖4)中以模式-1 (即對于范例-情形2單錯誤校正模式被激活)進(jìn)行解碼。
在下一步驟215中,狀態(tài)機單元138 (參見圖5 )檢查這個子字 的解碼是否已成功。在否定的情形中,解碼過程繼續(xù)進(jìn)入到步驟216。 在肯定的情形中,解碼過程繼續(xù)進(jìn)入到步驟219。
在步驟219中,通過將解碼器應(yīng)用到字-0的11個成功解碼的位 (即在循環(huán)的下一應(yīng)用中的字-j)以及將作為結(jié)果的4個奇偶校驗位 與已存儲在中間RAM 170 (參見圖5 )中的JP位進(jìn)行異或,位-0的 隱位^Q被再構(gòu)建。元素#炒的對應(yīng)值被設(shè)置為'1,以表示位-0成功地 被解碼并且》'以1進(jìn)行遞增。跟隨在這些變量設(shè)置操作之后,字-0 (即在循環(huán)的下一應(yīng)用中的字-j)在DJIR單元200 (參見圖4)中根 據(jù)校正結(jié)果而進(jìn)行更新。
在步驟221中,'/以'l,進(jìn)行遞增,這樣實現(xiàn)下一子字解碼。解 碼過程然后返回到步驟213。
在步驟213中,確定變量T的值是否低于586。
在否定的情形中,解碼過程繼續(xù)進(jìn)入到步驟222。在肯定的情形 中,解碼過程利用變量T的已遞增的值,再應(yīng)用步驟214、步驟215 以及如果需要的話,還再應(yīng)用步驟216。
在步驟216中,檢查變量'Z的值。在對已失敗子字來說其數(shù)目'7 超過值41,(對于范例情形-2)的情況下,解碼過程聲稱失敗以及在步 驟217中被終止。否則解碼過程進(jìn)入到步驟220 (或如果軟解碼器被實施就進(jìn)入到步驟218)。注意在軟解碼器的情形下,在對于整個頁 扇區(qū)的解碼失敗被聲稱之前,變量'z的值可能超過值'l,。
在步驟218中,對于字7的隱位所執(zhí)行的估計被存儲在中間 RAM170中??紤]軟解碼器的實施時,即使軟解碼器未能解碼,但提 供有關(guān)隱位的新的知識,甚至是部分隱位的新的知識也是可能的。然 而,對于范例情形-2,提供這種估計是不可能的。因此,在范例情形 -2中,步驟218被繞過。
在步驟220中,變量7的值以1進(jìn)行遞增,以指示就已失敗子
字而言其總數(shù)已增加。解碼過程然后進(jìn)入到步驟221,其中變量^的 值以l進(jìn)行遞增,以指示解碼器繼續(xù)解碼下一子字。
在步驟222中,^'與值586進(jìn)行比較。如果'f巧秘,,那么所有 子碼的解碼已成功,并且解碼過程成功地在步驟223中完成。否則對 于范例情形-2,只有一個子字沒有成功地被解碼,以及解碼過程進(jìn)入 到步驟224。
在下一步驟224中,變量^的值以1進(jìn)行遞增。 在步驟225中,檢查變量Y的值是否低于2 (或在一般情形中低 于^P,)。在否定的情形(即^等于或大于2)中聲稱全部解碼過程 失敗以及在步驟226中全部解碼過程結(jié)束。然而,在肯定情形中,在
步驟227,變量,的值被重置為'O,以用于再解碼已失敗子字。緊隨步 驟227之后,解碼過程繼續(xù)進(jìn)入到步驟228。
在步驟228中,檢查在位置,向量^的值(元素v扱)是否等于 '0,。在肯定情形中,在軟解碼器的情形下,解碼過程進(jìn)入到步驟229; 在硬解碼器的情形下,解碼過程繞過步驟229并且直接進(jìn)入到步驟 237。然而,在否定的情形中-解碼過程進(jìn)入到步驟235。在步驟235
中,變量',的值以1進(jìn)行遞增,并且編碼過程進(jìn)入到下一步驟234。
在步驟234中,檢查變量7的值是否低于586。在否定的情形中(即
變量^的值等于或大于586),所有元素已被掃描以及解碼過程繼續(xù) 返回以應(yīng)用步驟222。然而,在肯定情形中(即'/<5銘)-步驟228、225和234被重復(fù)直至發(fā)現(xiàn)失敗子字。
注意步驟229僅在軟解碼器的情形下才被執(zhí)行。在軟解碼器的情 形下,采用被成功解碼子字的、迄今為止已更新的JP位和被提供用 于迄今為止已失敗子字的、所再構(gòu)建的隱位的估計,失敗子字的隱位 可被再構(gòu)建。雖然本發(fā)明的優(yōu)選方法釆用異或操作,提供了已失敗子 字的、所再構(gòu)建的隱位的估計,但是在軟解碼器的情形下其它操作可 以被進(jìn)一步地考慮。
在硬解碼器的情形下,所有其它子字必須成功地被解碼。對于范 例情形2,在中間RAM170中所存儲的JP位,在利用所有其它被成
功地解碼子字而進(jìn)行更新后,可被用作已失敗子字'7隱位的估計。如
果在子字?'的最前l(fā)l位中出現(xiàn)兩個或多個錯誤,所更新的JP位僅被
用于已失敗子字4/的隱位的估計。注意如果解碼子字?"的第二嘗試成 功了,那么所更新的JP位就是所再構(gòu)建的隱位它們自己,而不僅僅 是關(guān)于范例情形-2的估計。這是因為在第二解碼嘗試中的成功意味著 在15-位字中剛好有兩個錯誤。進(jìn)一步,還因為第一嘗試已失敗,在 15-位字的最前l(fā)l位中剛好有兩個錯誤。因此,15-位字的最后4位沒 有錯誤并且是隱位的恰當(dāng)再構(gòu)建。
在步驟237中,對于同時使用硬解碼器和軟解碼器的情形,字々' 從DJIR 200 (參見圖4)被讀取到雙模解碼器130 (參見圖4)。然 后聯(lián)合信息從中間RAM 170中被讀出。在數(shù)據(jù)收集器132(參見圖5) 中聯(lián)合信息與字 ,進(jìn)行組合,以形成修正后的字用于在第二解碼模式 的解碼器核心134 (參見圖5)中進(jìn)行解碼。對于范例情形2,這種組 合操作就只是級聯(lián)以及第二解碼模式就是15, 7, 5]的塊解碼器。一 旦修正后的字,'/被定位在解碼器核心134 (參見圖5 )中,狀態(tài)機138 (參見圖5)就在步驟237的最后階段中啟動解碼操作。
在步驟230中,檢查用于解碼字,J的第二嘗試是否已成功。在肯 定的情形中,解碼過程執(zhí)行步驟231。在步驟231中,變量'*,的值以 l進(jìn)行遞增,元素^^/的值被設(shè)置為'1,,以及代碼字^在DJIR200(參 見圖4)中進(jìn)行更新。在軟解碼器的情形下,在步驟236中,子字7
50的完全地被再構(gòu)建的隱位與在中間RAM170中所存儲的聯(lián)合奇偶校 驗位進(jìn)行組合,以及被提供用于這些隱位的估計從中間RAM170中被 去除。將完全地被再構(gòu)建的(由于成功解碼)隱位與聯(lián)合奇偶校驗位 進(jìn)行組合的 一種方式,是通過將隱位與聯(lián)合奇偶校驗位進(jìn)行位與位地 異或運算。跟隨步驟2M (或者在軟解碼器的情形下步驟236)之后, 解碼過程直接進(jìn)入到步驟233。然而,在否定的情形(即字j的第二 解碼已失敗)中,解碼過程直接進(jìn)入到步驟233 (或者如果實施軟解 碼器,進(jìn)入到步驟232 )。在步驟232中,用于字'/"隱位的所更新的 估計被存儲在中間RAM 170中。
在步驟233中,變量'/的值以1進(jìn)行遞增,解碼過程返回,以 應(yīng)用由解碼過程所提供的步驟,直到已聲稱了解碼成功(步驟223 ) 或解碼失敗(步驟226)。
參看圖8,示出了關(guān)于范例情形1的解碼過程的示意性圖示240。 由標(biāo)記242所定義的每個7-位信息向量,被轉(zhuǎn)換為15-位代碼字244, 其被表示為G和O。每個這樣的15-位代碼字244的最前11位246 包含7個信息位242和最前4個奇偶校驗位250。這些最前11位246 被寫入到閃存設(shè)備。每個15-位代碼字244的最后4個奇偶校驗位252 一起進(jìn)行位與位地異或運算,以生成以在這里被定義為'F位254的4 個奇偶校驗位的集合,這樣就提供了第二類奇偶校驗位。
參看圖9,示出了關(guān)于范例情形2的輸入CER性能(在x軸上) 與輸出SER性能(y軸)的圖解性圖示260。如在圖解性圖示260所 示的,由參考方案262 (下面的線)所獲得的SER性能僅稍微地區(qū)別 于由本發(fā)明方案所獲得的SER性能(上面的線)。在SER低于10-w 場合中性能上沒有實際的差別,雖然本發(fā)明的閃存存儲器大小遠(yuǎn)遠(yuǎn)地 小于參考方案的。
在本發(fā)明的設(shè)備中,還可能將軟解碼器實施作為用于字代碼的組 件核心代碼。軟解碼器被提供以用于使得例如LDPC (低密度奇偶檢 測)、TCM (格狀編碼調(diào)諧)、TURBO編碼等組件代碼能夠使用。
解碼過程可以在多個階段中被執(zhí)行,而在每個階段中軟解碼器對于某個子字,使用通過聯(lián)合信息(存儲在中間RAM中)從其它子字 進(jìn)所行傳播的已更新的信息而被激活。在一般的情形下,軟解碼器可 以接受包含用于每個更新信息的值的可靠性位的多個位。這意味著被 傳送到軟解碼器的輸入位值的表示可以進(jìn)一步地包含多個位(即如在 以上的范例情形1和范例情形2中所述的,每個更新信息的值不限于 僅包含單個二進(jìn)制值)。輸入位軟值可以被看作并且被轉(zhuǎn)換為表示用 于輸入位i的二進(jìn)制值的可靠性等于'O,(或相反地等于'l,)的概率。 在下面的(2.7)中所定義的對數(shù)似然比(LLR)通常被用于本 領(lǐng)域已知的編碼理論,以表示對于二進(jìn)制值'O,或T的這些可靠性,按 照下式
Aft")
(2.7)
與通信領(lǐng)域形成對比,這些概率在閃存設(shè)備的存儲制造過程期間 已預(yù)先確定。在閃存設(shè)備中的存儲單元包括在每個單元中的一組位, 這樣單元電壓電平對應(yīng)于表示這組位的符號。因此這些符號的任一集 合可以被定義為信號星座圖(constellation)。
閃存設(shè)備由于它的物理特征,可以引起幾乎任一所寫入的電壓電 平,以作為不同電壓電平而進(jìn)行讀取。以交叉概率&來表示寫入電壓 電平'r,和讀取不同的電平's,的概率。
如上所提到的,由于閃存設(shè)備的特定制造過程-這些概率是固定 的給定值。對于二進(jìn)制值,0,或'1,的輸入可靠性可使用包含這些交叉概 率+"的給定常數(shù)表,如(2.7)中所示進(jìn)行計算。
在第一階段中,軟解碼器解碼每個不相交子字,而"隱奇偶校驗 位,,的可靠性被設(shè)置為0 (被軟解碼器識別為擦除)。
一旦成功解碼,這些奇偶校驗位就被成功地再生。從對數(shù)似然比 (LLR)的格式到二進(jìn)制值的轉(zhuǎn)換按以下方式實現(xiàn)
二進(jìn)制值在LLR格式中是可靠性的符號位。在成功解碼的情形 下,二進(jìn)制隱值根據(jù)應(yīng)用(在上述的范例情形l和范例情形2中,由 用于編碼不相交子字的過程所執(zhí)行的應(yīng)用)而被再生。然后,完全地被再生的二進(jìn)制隱值與從閃存設(shè)備所讀取的聯(lián)合信息位進(jìn)行位與位
地異或運算,參見圖7的步驟219和236。結(jié)果,這消除了所再生的"二 進(jìn)制隱值位"對不相交信息位的影響。這是由于這個進(jìn)程具有異或操 作的特征,其中AXORBXORCXORB-AXORC。
注意,在閃存設(shè)備中所存儲的聯(lián)合信息位也包含內(nèi)在的不可靠 性。因此,如果所有子字除了一個外都被成功地解碼,那么對于已失 敗解碼子字的隱位的再生,使用其它被成功地解碼子字的隱位和閃存 設(shè)備中所存儲的聯(lián)合信息,仍可能包含源自從閃存設(shè)備所讀取聯(lián)合信 息的錯誤。
如果軟解碼器失敗,輸出可靠性仍以用于"隱奇偶校驗位,,的 LLR格式而被產(chǎn)生。這些可靠性被存儲在中間RAM中。 一旦第一解 碼階段完成,如果所有子代碼都被成功地解碼,就確定了成功解碼進(jìn) 程。
如果在第一解碼階段中至少一個子字失敗,那么附加的解碼嘗試 由軟解碼器所執(zhí)行。對于每個這樣的新解碼嘗試,軟解碼器使用所更 新的聯(lián)合信息和從其它已失敗子字所獲得的可靠性。這樣的解碼嘗試 由在子字之間所執(zhí)行的"消息傳遞,,進(jìn)程(如在圖7中的軟解碼器使用 的情形下,步驟229、 231、 236和232所提到的)而被支持。消息是 指可靠性,其通過中間RAM在子字之間進(jìn)行傳遞。
假定執(zhí)行這個"消息傳遞,,進(jìn)程的機制是本發(fā)明的本質(zhì),因為這個 機制給予了成功解碼以克服用于不相交子字的子集的已失敗解碼事 件,而不需要額外的知識(除了聯(lián)合信息外)。因為以LLR格式所 獲得的可靠性為單個子字貢獻(xiàn)了新的外部信息,就可能是這樣的情 形,即這個子字將在下一階段中成功地被解碼。
在子字y (先前未能解碼)的一般的解碼階段中,其中 > > 氣 -軟解碼器使用所有子字的隱奇偶校驗位的子字可靠性(通常以LLR
格式),這樣就排除了子字y自身的可靠性的貢獻(xiàn)。在解碼階段》'中, 對于子字y的隱奇偶校驗位估計的幅值^^和符號值^對于在同一 位置的"隱奇偶校驗位,,的每個組而被單獨地得到。換句話說,幅值^(amplitude)和符號值7按下式進(jìn)行計算以用于同一子字的、 且獨立于同一子字的其它隱位的每一隱位
單獨
(2.8)
其中T'被定義為包含已失敗解碼子字的隱位和外部更新的'F
位的組。更新的4f位是指在閃存設(shè)備中所存儲的、由在解碼過程中所
有迄今為止被成功解碼的子字的再生隱位所更新的位。函數(shù),:可以以
多種方式進(jìn)行計算,其中之一為
《加A
J。g
加A u
(2.9)
注意,函數(shù)^;的一個有用的特性是函數(shù)是它自己的負(fù)的、可 逆的函數(shù)
符號,在這里被定義為以LLR格式進(jìn)行度量的可靠性的符號, 它由在參與幅值^K計算的同一集合'P上應(yīng)用異或操作,按照下式
/廣
S =卿d
、
,2
(2.11)
其中'F,被定義為上述在式(2.8)中所指出的組。
一旦計算了用于子字》'的隱奇偶校驗位的已更新可靠性,同樣 的軟解碼器被再激活用于解碼子字》'。解碼以及可靠性更新過程被重 復(fù)直到成功解碼被實現(xiàn),或直到解碼嘗試的所預(yù)先定義的最大值以及 或解碼階段由解碼方案來執(zhí)行。
成功解碼過程包含在RAM中更新子字位Y ,以及在中間RAM 中使用成功地解碼子字》'的被再生"隱奇偶校驗位"的符號位來更新 聯(lián)合信息位的步驟。因此,緊隨已失敗解碼嘗試之后的是在中間RAM 中更新子字','的隱奇偶校驗位的可靠性。雖然作為已失敗解碼嘗試的 結(jié)果,更新的可靠性已被獲得,但是在同一階段^'中在解碼其它子字 時考慮它們(更新的可靠性)會提高這些其它子字解碼的效率。
然后,軟解碼器進(jìn)入到解碼下一子字直到所有子字被成功地被解
54碼,或者直到解碼階段的預(yù)先定義的最大值被執(zhí)行用于某個子代碼。
如上所述,中間RAM存儲了用于每個失敗子字的"隱位,,可靠性。 然而,對于"隱位"的估計配置已減少大小的、包含僅僅一個位(即在 以LLR格式保持可靠性的情形下的符號位)的中間RAM,也是可能
的。在這種情況下,子字y的隱奇偶校驗位從其它失敗子字的、當(dāng)前
已估計的隱奇偶校驗位中以及從外部已更新4P,位中可被推導(dǎo)出。換 句話說,只是失敗子字的隱奇偶校驗位的當(dāng)前估計(即,只是對于J曰F 的^)被存儲,而不是失敗子字的隱奇偶校驗位的可靠性的當(dāng)前估計 (即,對于^^的 和^)被存儲。
本發(fā)明的新穎性可以從各種角度看出。從第一角度來看,本發(fā)明 公開了一種方法和設(shè)備,其通過多次解碼較短的代碼字以獲得成功解 碼長代碼字。關(guān)于上述的范例情形-1,長代碼字是[15, 7, 5的塊代 碼,較短的代碼字是[ll, 7, 3的塊代碼。較短的[ll, 7, 3的塊代碼 -故解碼兩次。
這能使本發(fā)明的設(shè)備避免了與本領(lǐng)域已知的解碼器相聯(lián)系的高 實現(xiàn)復(fù)雜性,而且獲得了同樣的輸出BER/SER性能。
根據(jù)第一角度,應(yīng)當(dāng)認(rèn)為本領(lǐng)域所已知的種種解碼方法,被提供 用于通過成功解碼固定大小的子字來解碼數(shù)據(jù)流,這是以與本發(fā)明的 類似方式實現(xiàn)的。
例如,需要解碼數(shù)據(jù)流,其中每個代碼字有iooo位以及每個這 樣的代碼字獨立于先于它或跟隨它的代碼字而基于它自身進(jìn)行解碼。 根據(jù)本領(lǐng)域已知的解碼方法,數(shù)據(jù)流被解碼為N (例如N-4)組代碼 字。N組的整個流對于N-4被定義為4000位的單個長代碼字。短解 碼分別地被應(yīng)用在每個有1000位的四個短代碼字的每一個上,這樣 所有短解碼的解碼數(shù)據(jù)進(jìn)行級聯(lián)以生成長代碼字的解碼數(shù)據(jù)。
然而,本發(fā)明的方法提供了錯誤校正編碼方案,它不同于以上所 述的現(xiàn)有解碼方法,因為本發(fā)明的方法進(jìn)一步還提供了這樣的階段, 即如果短代碼字解碼失敗,根據(jù)其它短代碼字的解碼數(shù)據(jù)來修改這個 短代碼字的解碼數(shù)據(jù)。對于以上所述的范例情形1,這個失敗的短代再構(gòu)建隱位和在閃存設(shè)備中所存儲的聯(lián)合奇偶校驗(JP)位而進(jìn)行替 換。
這個階段在上述的現(xiàn)有方法中完全沒有,它提供了本發(fā)明眾多的 自身優(yōu)點。 一個這樣的優(yōu)點是在一個或多個短字中克服了解碼失敗, 因此需要較少的奇偶校驗位來保護(hù)這些較短的代碼字。
本領(lǐng)域已知的其它解碼方法是基于在不同短代碼字之間的連接。 根據(jù)這種通常被稱為級聯(lián)編碼方案的方法,由第 一代碼進(jìn)行編碼的幾 個短代碼字被分組到一起,以及由第二代碼再次進(jìn)行編碼以生成長代 碼字。這樣的現(xiàn)有方法根據(jù)較長代碼字的解碼實現(xiàn)仍在編碼的短代碼 字的修正,然后僅僅解碼短代碼字。
例如,4個代碼字的數(shù)據(jù)流(包含4, 000位),其中每個基本 代碼字有1000位,通過第一代碼而被編碼為4, 500位的一個長字。 長代碼字的解碼將需要根據(jù)第二代碼首先解碼長字,然后根據(jù)第一代 碼分別地解碼每個短代碼字。
然而,對于范例情形l,本發(fā)明的方法不同于這個現(xiàn)有方法,因 為本發(fā)明的方法首先解碼短代碼字,然后根據(jù)其它短代碼字的解碼數(shù) 據(jù)實現(xiàn)解碼數(shù)據(jù)的修正。
被稱為Turbo解碼的其它解碼方法使用了"Turbo代碼",其典 型地利用軟解碼方法。"Turbo代碼,,被定義為前向錯誤校正技術(shù),由 相級聯(lián)的代碼結(jié)構(gòu)加上迭代反饋算法而組成。通過應(yīng)用Turbo解碼, 同樣的數(shù)據(jù)位可被編碼兩次或更多次(數(shù)據(jù)位被交織以在多種編碼操 作中具有不同次序),這樣代碼字就同時包含數(shù)據(jù)位和由所有編碼所 生成的多個奇偶校驗位的集合。在編碼時,多個編碼過程被應(yīng)用(并 列地或非并列地)。根據(jù)多種奇偶校驗位集合中的一個所應(yīng)用的每個 解碼過程,從關(guān)于同樣的、但具有不同奇偶校驗位的信息數(shù)據(jù)的前一 解碼階段中接受外來信息。
前向錯誤校正技術(shù)的優(yōu)點在于為解碼同樣數(shù)據(jù)位所應(yīng)用的多種 解碼過程之間的交互。這種交互提高了解碼器的錯誤校正性能。應(yīng)用Turbo解碼的解碼器可以進(jìn)一步地被配置成根據(jù)僅僅一個奇偶校驗位 集合來解碼數(shù)據(jù),這樣只有在失敗解碼的情形下,如上所述,多個奇 偶校驗位集合才會被解碼。
本發(fā)明的方法在多個方面上不同于本領(lǐng)域已知的Turbo解碼方 法。首先,在子字自身解碼與實現(xiàn)解碼字的修改進(jìn)程之間有明顯的分 離。本發(fā)明方法分別地解碼每個短字,然后只應(yīng)用解碼數(shù)據(jù)的一部分 影響另一部分的過程。然而,根據(jù)Turbo解碼方法,解碼子字與實現(xiàn) 其它子字修正之間沒有明顯的分離_兩個步驟同時地發(fā)生。
其次,根據(jù)本發(fā)明的方法,每個短字獨立于其它短字而進(jìn)行解碼。 因此,解碼子字生成解碼數(shù)據(jù)的獨立集合。然而根據(jù)Turbo解碼方法, 所有短字(在典型的并列實現(xiàn)中)或者至少一個短字(在兩個階段的 實現(xiàn)中)同另一短字串接而進(jìn)行解碼,以生成解碼位的聯(lián)合集合。更 進(jìn)一步地,解碼短代碼字不需要被識別為"自身的解碼數(shù)據(jù)"(即依賴 于其它代碼字)。
第三,根據(jù)本發(fā)明,多種短代碼字是長代碼字的不相交子集。然 而,在Turbo解碼方法中不能提供這樣的實現(xiàn),其中多個短代碼字全 部編碼同樣的數(shù)據(jù)位。
從第二角度來看,本發(fā)明的創(chuàng)新是通過使用兩個編碼方案來編碼 數(shù)據(jù)位而改進(jìn)了錯誤校正性能,不需要保存所有作為結(jié)果的奇偶校驗 位,以及依靠奇偶校驗位的兩個集合之間的關(guān)系以使得一個集合"掩 蓋了,,其它集合的不足。當(dāng)從本發(fā)明的這一角度來看時,下面的各個 方面應(yīng)當(dāng)進(jìn)行考慮。
a.這個觀點的區(qū)別特征是計算奇偶校驗位多于最終被使用的中 間階段。這樣將人們的注意力吸引到了現(xiàn)有"刪截(punctured)"的 方法。在錯誤校正理論中術(shù)語"刪截"是指丟棄一些所計算的奇偶校驗 位以減少奇偶校驗的開銷,用已減少的開銷來抵消較低的錯誤校正能 力。然而,在現(xiàn)有技術(shù)中所理解的"刪截"完全不同于本發(fā)明-本發(fā)明 使用兩個錯誤校正編碼方案作為基礎(chǔ)以用于它的操作,而在現(xiàn)有刪截 方法中不存在這個特征,其中僅使用單一的編碼方案。b.美國專利申請No.10/998, 003,由Dror等所提交的、于2004 年11月29日公布在美國專利申請公開No.2005/0160350、發(fā)明名稱 為"compact high-speed single-bit error-correction circuit",公開了 一 種錯誤校正方法,它也在編碼階段期間停止丟棄一些所計算的奇偶校 驗信息。Dror等的方法比本發(fā)明更接近于上面所討論的刪截方法,因 為Dror等的方法包括兩個相分離的計算階段,其中奇偶校驗信息從 僅僅其中一個階段的結(jié)果中被丟棄,表面上和本發(fā)明相似。然而,Dror 等的方法不同于本發(fā)明,因為以上所述的同樣的事實-本發(fā)明使用了 兩個錯誤校正編碼方案,而這不是在Dror等的方法中的情形。即使 Dror等的方法實現(xiàn)了兩個計算階段,然而每個階段不是一個錯誤校正 方案,因為它甚至不能校正它自己的單個錯誤。兩個計算一起僅僅是 提供了用于校正錯誤的足夠的奇偶校驗信息,因此兩個計算一起僅僅 是構(gòu)造了 一個錯誤校正方案。
應(yīng)當(dāng)理解的是,雖然本發(fā)明涉及了系統(tǒng)性代碼,但是本發(fā)明方法 可同樣地應(yīng)用于系統(tǒng)性的和非系統(tǒng)性的錯誤校正代碼。根據(jù)錯誤校正 術(shù)語,系統(tǒng)性代碼被定義為這樣一種代碼,其中被傳送到解碼器的每 個輸入數(shù)據(jù)位一對一的對應(yīng)于在已編碼代碼字中的匹配位,在刪截之 前如果可應(yīng)用的話,這樣已編碼代碼字位可以被劃分為兩個不相交部 分-一個包括原始數(shù)據(jù)位而另一個包括奇偶校驗位。從而,非系統(tǒng)性 代碼被定義為不能滿足上述條件的任何代碼(即在非系統(tǒng)性代碼中 不可能有這樣的明顯劃分)。
本發(fā)明的方法可同樣地應(yīng)用于硬解碼和軟解碼的解碼器。根據(jù)錯 誤校正術(shù)語,軟解碼的解碼器使用這樣的解碼過程,即它能接受用于 輸入位的可靠性度量、能在解碼過程中考慮它們、以及在這個過程中 更新可靠性度量。硬解碼器是不滿足以上條件的解碼器。
雖然如上所述,本發(fā)明是基于簡單的BCH代碼,但是也可以使 用本領(lǐng)域已知的其它編碼和解碼技術(shù),以實現(xiàn)相似的效率和性能增 益。
更進(jìn)一步地,由本發(fā)明設(shè)備所使用的代碼結(jié)構(gòu)可以被使用在本領(lǐng)
58域已知的任一這樣的設(shè)備中,包括數(shù)字存儲介質(zhì)、隨機讀取存儲器、
閃存存儲器、和EEPROM。術(shù)語"存儲"和"存儲器"在這里可互換地 被使用,以及是指任何這樣的存儲設(shè)備。
應(yīng)當(dāng)注意到,當(dāng)本發(fā)明在這里被提供用于閃存存儲,本發(fā)明的原 理可以被修改而使用,為諸如通信系統(tǒng)(無線的、有線的、有線電話 系統(tǒng)、衛(wèi)星、蜂窩電話,包括DSL、 DVBS、 3G、 4G、 CDMA2000, 802.11和802.16的變型等)和信號處理(視頻和^L頻應(yīng)用)等其它類 型應(yīng)用提供便利。
如果解碼過程的第一階段不充分,緩存器可以在本領(lǐng)域已知的通 信系統(tǒng)中被進(jìn)一步地實現(xiàn),以為進(jìn)一步地解碼嘗試的臨時激活而保存 數(shù)據(jù)。然而,可以是這樣的情形,即不需要額外的緩存器,因為當(dāng)解 碼單元空閑時這樣的緩存器可能已經(jīng)在通信系統(tǒng)的其它部分被使用 了。
可以理解的是,有關(guān)對于錯誤校正編碼方案的任何方法和設(shè)備的 其它實現(xiàn)也可能是在本發(fā)明的范圍內(nèi)。
已經(jīng)相對于某些特定的實施方式描述了本發(fā)明,但是應(yīng)當(dāng)理解的 是,這種描述不意味著限制,因為進(jìn)一步的修改將會被所屬領(lǐng)域的技 術(shù)人員所領(lǐng)悟,所以進(jìn)一步的修改應(yīng)包含在所附的權(quán)利要求的范圍內(nèi)。參考文獻(xiàn) Shannoiij "A mathematical theory of communications" Bell System Telephone Journal,
Vol. 27, 1948, pt. I, pp. 379-423; pt II pp.623-656. [2] M. G. L勿,M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielm叫"Improved low
density parity-check codes using irregular graphs and belief propagation,"尸roc. o/快e
iE五五Jhf. S!>7w;7. o" J"/ 2Tzeo 7 「/S7r人p. 117,1998. [3〗IL G. Gallager, "Low-density parity-check codes," ZR£ 7>cms. 7h/o. 7Tieo':v, vol. IT-8, pp.
21-28, 1962. T. J. Richardson and R. Urbanke, "The capacity of low-density parity-check codes under message passing decoding," ZE5五Thmy. /",w. 7T eo", vo.47, pp. 599-618, 2001. C. Berron, A. Glavieux, and P. Thitimajshimaj 'Wear Shannon limit error correcting coding and decoding: Turbo codes," in IEEE Int. Conf. on Communications, 1993, pp. 1064-1070. T. J. Richardsonj A. Shokrollahi and It Urbanke, "Design of c叩acity approaching low-density parity-check codes," IE£E Thms. Z72eo", vol. 47, pp. 619(637,2001. E.Sharonj S.Litsyn, J.Goldberger "An Efficient Message-Passing Schedule for LDPC Decoding," in proc, 23rd IEEE Convention in Tel-Aviv, Israel, pp. 223-226, September 6-7, 2004. R. M. Tanner, "A recursive approach to low complexity code" /EEE 7Va肌on J"/o.
77ieoo>, vol. 27(5), pp. 533-547,1981. [10] J, Zhang and M. Fossorier, "Scheduled belief propagation decoding," 7Tie Proceecf!'"gs
3礎(chǔ)血7ofnar Co—柳ce cm S!'gn。&,辦Wem51 C卿戶fens, fic Grove, USA, vol. 1 ,
pp.8-15, 2002. Mustafa Eroz, Feng-Wen S叫Lin-Nan Lee, "Method and apparatus for providing reduced memory low density parity check codes". The direct TV group, INC., US Patent Application Publication No. 2005/0091565 Al, Apr. 28,2005[13] Mustafa Eroz, Feng-Wen S叫Lin-Nan Lee, "Method and system for providing long and
short block length low density parity check codes". The difect TV group, INC., US Patent
Application Publication No. 2005/0091570 Al, Apr. 28, 2005 [14] Mustafa Eroz, Feng-Wen S叫Lin-Nan Lee, "Encoding low density parity check codes
through an LDPC decoder". The direct TV group, INC., US Patent Application
Publication No. 2005/0003756 Al, Jan. 6, 2005 [15〗Richardson, et al. "Methods and apparatus for decoding LDPC codes", US Patent No.
6,633,856, Flarion Technologies, Inc. (Bedminister, NJ), October 14,2003. [16J Error-correcting codes , second edition, W. Wesley Peterson E丄Weldon. [17] Elwyn R Berlekamp / Algebraic Coding Theory, Revised 1984 Edition^ [18] Error-Correcting Codes and Finite Fields / Oliver Pretzel R.E.Blahutj Theory and Practice of Error-Correcting codes, Addison-Wesley, 1983. W.G.Chambers, R.E.Peile, K.Y.Tsie, and N.Zeii^ An algorithm for solving the Welch-
Berlekamp key-equation with a simplified proof, Electronic Letters, vol.29, 1993,
pp.1620-1621. V.Guruswami and MSud叫Improved decoding of Reed-Solomon and Algebraic-Geometry codes, IEEE T認(rèn)s. Inform. Theory, 6, 1999, pp.1757—1767. D.Mandelbaum, Decoding of erasures and errors for certain RS codes by decreased redundancy,正EE Trans. Inform. Theory, voI.28, 2, 1982, pp.330—336, J.L.Massey, Shift-register synthesis and BCH decoding,正EE Trans. Inform. Theory, vol.15, 1969,pp.l22-127.
[24〗W.Peterson, and W.Weldon, Error Correcting Codes, 1974.
〖25〗L.Welch and E.R.Berlekamp, Error correction for algebraic block codes, US Patent No. 4,633,470, 1983.
權(quán)利要求
1、一種解碼代碼字表示的方法,所述方法包括以下步驟(a)由代碼字表示生成多個子字,以便每個所述子字的位都是代碼字表示的位的合適子集;(b)根據(jù)每個子字的位單獨地解碼它自己,以生成相應(yīng)的解碼子字;以及(c)如果所述子字中的一個的所述解碼失敗,就修正相應(yīng)于這個解碼失敗的所述子字的所述解碼子字,由此產(chǎn)生一個已修正的解碼子字,所述修正至少是部分地根據(jù)至少一個成功地解碼的子字的所述對應(yīng)解碼子字。
2、 根據(jù)權(quán)利要求l的方法,進(jìn)一步地包括以下步驟(d) 如果所述子字中的一個的所述解碼失敗將來自所述已修解碼子字的數(shù)據(jù)進(jìn)行組合。
3、 根據(jù)權(quán)利要求2的方法,其中來自所述已修正的解碼子字的 數(shù)據(jù)與來自所有所述成功地解碼的子字的所述相應(yīng)解碼子字的數(shù)據(jù) 的所述的組合,由包括組裝來自所述已修正的解碼子字的數(shù)據(jù)與來自 所有所述成功地解碼的子字的所述相應(yīng)解碼子字的數(shù)據(jù)的步驟來實 現(xiàn)。
4、 根據(jù)權(quán)利要求l的方法,其中所述子字是不相交的。
5、 根據(jù)權(quán)利要求l的方法,其中所述子字包含同樣數(shù)目的位。
6、 一種用于解碼M位字的裝置,包括 (a)用于解碼N〈M位字的解碼器;以及(b )用于分別地將所述解碼器應(yīng)用到每個從M位字中所選出的 N位不同子集的機制,所述解碼器的每個所述應(yīng)用單獨地依賴于每個 所述應(yīng)用被用于的所述N位,每個所述應(yīng)用生成相應(yīng)的解碼數(shù)據(jù),以 便至少部分地根據(jù)所述應(yīng)用的所述相應(yīng)解碼數(shù)據(jù)生成M位字的最終 解碼數(shù)據(jù),其中如果所述應(yīng)用中的一個失敗,那么所述機制會至少 部分地根據(jù)至少一個成功應(yīng)用的所述相應(yīng)解碼數(shù)據(jù),來實現(xiàn)所述已失 敗應(yīng)用的所述相應(yīng)解碼數(shù)據(jù)的修正。
7、 根據(jù)權(quán)利要求6的裝置,其中所述子集是不相交的。
8、 一種用于解碼M位字的裝置,包括(a)多個用于各自解碼N〈M位字的解碼器;以及 (b )用于分別地將所述的多個解碼器的每一個應(yīng)用到每個從M 位字中所選出的N位的不同子集的機制,所述多個解碼器每一個的每 個應(yīng)用單獨地依賴于每個所述應(yīng)用被應(yīng)到的所述N位,每個所述應(yīng)用 生成相應(yīng)的解碼數(shù)據(jù),以便至少部分地根據(jù)所述應(yīng)用的所述相應(yīng)解碼 數(shù)據(jù)生成M位字的最終解碼數(shù)據(jù),其中如果所述解碼器中的一個 失敗,那么所述機制會至少部分地根據(jù)至少一個已取得成功的所述解 碼器的所述相應(yīng)解碼數(shù)據(jù),來實現(xiàn)所述已失敗解碼器的所述相應(yīng)解碼 數(shù)據(jù)的修正。
9、 根據(jù)權(quán)利要求8的裝置,其中所述子集是不相交的。
10、 一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括 以下步驟(a) 根據(jù)第一編碼方案編碼數(shù)據(jù)位以生成第一奇偶校驗位組;(b) 根據(jù)第二編碼方案編碼數(shù)據(jù)位以生成第二奇偶校驗位組;(c )將所述第二奇偶校驗位組轉(zhuǎn)換為一個奇偶校驗位的聚縮組,其中,所述轉(zhuǎn)換是多對一的;以及(d )通過將所述第一奇偶校驗位組與所述聚縮組奇偶校驗位相 組合以生成一個用于數(shù)據(jù)位的奇偶校驗位最終組。
11、 根據(jù)權(quán)利要求10的方法,其中所述第一奇偶校驗位組與所述奇偶校驗位的聚縮組的所述組合,由包括組裝所述第一奇偶校驗位 組的至少一部分和所述奇偶校驗位的聚縮組的步驟來實現(xiàn)。
12、 根據(jù)權(quán)利要求10的方法,其中所述轉(zhuǎn)換步驟包括對所述第 二奇偶校驗位組的多個子組進(jìn)行異或運算。
13、 一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括 以下步驟(a)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述多 個子組中至少出現(xiàn)一次;(b )根據(jù)相應(yīng)的第一編碼方案對所述多個子組的每個子組進(jìn)行 編碼,以對于每個所述子組生成相應(yīng)的、至少一個的第一奇偶校驗位;(c )根據(jù)相應(yīng)的第二編碼方案對所述多個子組的每個子組進(jìn)行 編碼,以對于每個所述子組生成相應(yīng)的、至少一個的第二奇偶校驗位;(d) 將所有所述多個子組中的所有的所述至少一個第二奇偶校 驗位轉(zhuǎn)換成聯(lián)合的聚縮奇偶校驗位,其中所述轉(zhuǎn)換是多對一的;以及(e) 通過將所有所述多個子組中的所有的所述至少一個笫一奇 偶校驗位與所述的聯(lián)合聚縮奇偶校驗位相組合,以生成一個用于數(shù)據(jù) 位的奇偶校驗位最終組。
14、 根據(jù)權(quán)利要求13的方法,其中所述多個子組中的所有的所 述至少一個第一奇偶校驗位與所述的聯(lián)合聚縮奇偶校驗位的所述組 合,由包括的組裝所述多個子組中的所有的所述至少一個第 一奇偶校 驗位和所述的聯(lián)合聚縮奇偶校驗位的步驟來實現(xiàn)。
15、 根據(jù)權(quán)利要求13的方法,其中每個數(shù)據(jù)位只在所述多個子 組中出現(xiàn)一次。
16、 根據(jù)權(quán)利要求13的方法,其中至少有一個數(shù)據(jù)位在所述的 多個子組中至少出現(xiàn)兩次。
17、 根據(jù)權(quán)利要求13的方法,其中所述的多個子組有相同的大小。
18、 根據(jù)權(quán)利要求13的方法,其中所述的多個子組的至少一個 子組,所述相應(yīng)第一編碼方案和所述相應(yīng)第二編碼方案通過使用通常 的編碼方法就可被獲得,這樣所述相應(yīng)第一編碼方案根據(jù)第一順序?qū)?所述至少一個子組的位進(jìn)行編碼,以及所述相應(yīng)第二編碼方案根據(jù)第 二順序進(jìn)行編碼。
19、 根據(jù)權(quán)利要求13的方法,其中所有所述的多個子組根據(jù)通 常的、所述第一編碼方案而^L編碼。
20、 根據(jù)權(quán)利要求13的方法,其中所有所述的多個子組根據(jù)通 常的、所述第二編碼方案而被編碼。
21、 根據(jù)權(quán)利要求13的方法,其中所述轉(zhuǎn)換步驟包括將相應(yīng)于 所述子組中的一個的所迷至少一個笫二奇偶校驗位與相應(yīng)于所述子 組中的另一個的所述至少一個第二奇偶校驗位進(jìn)行異或運算。
22、 一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括 以下步驟(a)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述多 個子組中至少出現(xiàn)一次;(b) 使用相應(yīng)的編碼方案對所述多個子組的每個子組進(jìn)行編碼, 以對于每個所述子組生成相應(yīng)的、至少一個奇偶校驗位;(c) 對于每個所述子組,從所述每個子組的所述位和每個所述 子組的所述相應(yīng)的至少一個奇偶校驗位中選出一個相應(yīng)的所選子集;(d) 將所有所述多個子組中的所述所選子集轉(zhuǎn)換成聯(lián)合聚縮所 選位,其中所述轉(zhuǎn)換是多對一的;(e )通過將每個所述子組的所述位與每個所述子組的所述相應(yīng) 的至少一個奇偶校驗位相組合,以對于每個所述子組生成一個相應(yīng)的 被縮短的代碼字,然后將每個所述子組中的所述相應(yīng)所選子集的位去 除;以及(f)通過將所有所述多個子組的所述相應(yīng)的被縮短的代碼字與 所述聯(lián)合聚縮所選位相組合,以生成用于數(shù)據(jù)位的代碼字。
23、 根據(jù)權(quán)利要求22的方法,其中每個所述子組的所述位和每 個所述子組的所述相應(yīng)的至少一個奇偶校驗位的所述組合,通過包括 組裝每個所述子組的所述位和每個所述子組的所述相應(yīng)的至少一個 奇偶校驗位的步驟而實現(xiàn)。
24、 根據(jù)權(quán)利要求22的方法,其中所述多個子組的所述相應(yīng)的 被縮短的代碼字與所述聯(lián)合聚縮所選位的所述組合,通過包括組裝所 述多個子組的所有所述相應(yīng)的被縮短的代碼字與所述聯(lián)合聚縮所選 位的的步驟而實現(xiàn)。
25、 根據(jù)權(quán)利要求22的方法,其中每個數(shù)據(jù)位在所述多個子組 中只出現(xiàn)一次。
26、 根據(jù)權(quán)利要求22的方法,其中至少一個數(shù)據(jù)位在所述多個 子組中至少出現(xiàn)兩次。
27、 根據(jù)權(quán)利要求22的方法,其中所述的多個子組有相同的大小。
28、 根據(jù)權(quán)利要求22的方法,其中所述的多個子組根據(jù)通常的 所述編碼方案而被編碼。
29、 根據(jù)權(quán)利要求22的方法,其中所述的轉(zhuǎn)換步驟包括將相應(yīng) 于所述子組中的一個的所述所選子集的位與相應(yīng)于所述子組中的另 一個的所述所選子集的位進(jìn)行異或運算。
30、 一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括 以下步驟(a)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述子 組中至少出現(xiàn)一次;(b )使用相應(yīng)的編碼方案對所述多個子組的每個子組進(jìn)行編碼, 以對于每個所述子組生成相應(yīng)的代碼字;(c)對于每個所述子組,從所述相應(yīng)代碼字的位中選擇一個相 應(yīng)的所選子集;(d )將所有所述相應(yīng)代碼字中所述相應(yīng)所選子集轉(zhuǎn)換成聯(lián)合聚 縮所選位,其中所述轉(zhuǎn)換是多對一的;(e) 通過去除相應(yīng)于每個所述相應(yīng)代碼字的所述所選子集的位, 以生成用于每個所述相應(yīng)代碼字的相應(yīng)被縮短代碼字;以及(f) 通過將所有所述多個子組中的所述相應(yīng)的被縮短代碼字與 所述聯(lián)合聚縮所選位相組合以生成用于數(shù)據(jù)位的代碼字。
31、 根據(jù)權(quán)利要求30的方法,其中所述多個子組的所述相應(yīng)的 被縮短的代碼字與所述聯(lián)合聚縮所選位的所述組合,通過包括組裝所 述多個子組的所有所述相應(yīng)的被縮短的代碼字與所述聯(lián)合聚縮所選 位的步驟而實現(xiàn)。
32、 根據(jù)權(quán)利要求30的方法, 中只出現(xiàn)一次。
33、 根據(jù)權(quán)利要求30的方法, 子組中至少出現(xiàn)兩次。
34、 根據(jù)權(quán)利要求30的方法,小。
35、 根據(jù)權(quán)利要求30的方法, 所述編碼方案而被編碼。其中每個數(shù)據(jù)位在所述多個子組 其中至少一個數(shù)據(jù)位在所述多個 其中所述的多個子組有相同的大 其中所述的多個子組根據(jù)通常的
36、 根據(jù)權(quán)利要求30的方法,其中所述的轉(zhuǎn)換步驟包括將相應(yīng) 于所述子組中的一個的所述所選子集的位與相應(yīng)于所述子組中的另 一個的所述所選子集的位進(jìn)行異或運算。
37、 一種解碼代碼字表示的方法,這個表示包括M個數(shù)據(jù)位和 P個奇偶校驗位,所述方法包括以下步驟(a )將P個奇偶校驗位劃分成第一奇偶校驗位組和第二奇偶校 驗位組;(b .)僅僅使用所述第一奇偶校驗位組對M個數(shù)據(jù)位進(jìn)行解碼以 提供校正的數(shù)據(jù)位;以及(c)如果僅僅使用所述第一奇偶校驗位組的所述解碼失敗,那 么使用所述第一奇偶校驗位組和所述第二奇偶校驗位組對M個數(shù)據(jù) 位進(jìn)行解碼以提供校正的數(shù)據(jù)位。
38、 一種解碼包括M個數(shù)據(jù)位和P個奇偶校驗位的代碼字表示 的方法,所述方法包括以下步驟(a)將M個數(shù)據(jù)位劃分成IOl個子集,其中,M個數(shù)據(jù)位的 每個在所述K個子集中至少出現(xiàn)一次;(b )將P個奇偶校驗位劃分成第一奇偶校驗位組和第二奇偶校 驗位組;(c)將所述第一奇偶校驗位組劃分成K個子集,所述第一奇偶 校驗位組的每個所述子集對應(yīng)于M個數(shù)據(jù)位的各自子集;(d )根據(jù)所述第一奇偶校驗位組的所述相應(yīng)子集對M個數(shù)據(jù)位 的每個所述子集進(jìn)行解碼,以生成M個數(shù)據(jù)位的所述每個子集的解 碼數(shù)據(jù);(e) 如果M個數(shù)據(jù)位的所述K個子集中的一個解碼失敗那 么至少部分地根據(jù)所述第二奇偶校驗位組對所述一個子集進(jìn)行解碼, 以生成所述一個子集的所述解碼數(shù)據(jù);以及(f) 將M個數(shù)據(jù)位的所有所述K個子集的所述解碼數(shù)據(jù)相組合, 以生成用于M個數(shù)據(jù)位的總的解碼數(shù)據(jù)。
39、 根據(jù)權(quán)利要求38的方法,其中M個數(shù)據(jù)位的所有所述K 個子集的所述解碼數(shù)據(jù)的所述組合,通過包括組裝M個數(shù)據(jù)位的所 有所述K個子集的所述解碼數(shù)據(jù)的步驟而實現(xiàn)。
40、 根據(jù)權(quán)利要求38的方法,其中M個數(shù)據(jù)位的所述K個子 集是不相交的。
41、 根據(jù)權(quán)利要求38的方法,其中M個數(shù)據(jù)位的所述K個子 集有相同的大小。
42、 根據(jù)權(quán)利要求38的方法,其中以及所述每個子集的數(shù)據(jù)位 的所述解碼根據(jù)所述第 一奇偶校驗位組采用相應(yīng)的第 一解碼方案,以 及其中所述一個子集的數(shù)據(jù)位的所述解碼,其解碼失敗,就根據(jù)所述 第二奇偶校驗位組采用相應(yīng)的第二解碼方案。
43、 根據(jù)權(quán)利要求42的方法,其中對于M個數(shù)據(jù)位的所述K 個子集的至少一個,所述對應(yīng)的第一解碼方案和所述對應(yīng)的第二解碼 方案使用通常的解碼方法。
44、 根據(jù)權(quán)利要求42的方法,其中所有所述第一解碼方案都是 相同的。
45、 根據(jù)權(quán)利要求42的方法,其中所有所述第二解碼方案是相同的。
46、 一種解碼來自有N>M個位的代碼字表示的M個數(shù)據(jù)位的 方法,所述方法包括以下步驟(a)從N個位中去除至多N-M位的所選子集,因此產(chǎn)生了剩 余位的集合;(b )將所述剩余位劃分成K>1個剩余位的子集,其中每個所述 剩余位是K個子集中至少一個的組成;(c )僅僅根據(jù)所述每個子集的位對所述K個子集的每個進(jìn)行解碼,以生成所述每個子集的解碼數(shù)據(jù);(d)如果所述K個子集的一個的所迷解碼失敗,那么至少部分地根據(jù)所述被去除的所選子集對所述一個子集進(jìn)行解碼以生成所述一個子集的所述解碼數(shù)據(jù);以及(e )將所有所述K個子集的所述解碼數(shù)據(jù)相組合以生成用于M 個數(shù)據(jù)位的總解碼數(shù)據(jù)。
47、 根據(jù)權(quán)利要求46的方法,其中所有所述K個子集的所述解 碼數(shù)據(jù)的所述組合,通過組裝所有所述K個子集的所有所迷解碼數(shù)據(jù) 來實現(xiàn)。
48、 根據(jù)權(quán)利要求46的方法,其中所迷K個子集是不相交的。
49、 根據(jù)權(quán)利要求46的方法,其中所述K個子集有相同的大小。
50、 根據(jù)權(quán)利要求46的方法,其中所述每個子集的數(shù)據(jù)位的所 述解碼根據(jù)所述每個子集的所述位,包含采用了相應(yīng)的第一解碼方案,以及其中所述一個子集的數(shù)據(jù)位的所述解碼,其解碼失敗,就根據(jù)所述被去除的所選子集包含采用了相應(yīng)的第二解碼方案。
51、 根據(jù)權(quán)利要求50的方法,其中對于所述K個子集的至少一 個,所述對應(yīng)的第一解碼方案和所述對應(yīng)的第二解碼方案使用通常的 解碼方法。
52、 根據(jù)權(quán)利要求50的方法,其中所有所述第一解碼方案都是 相同的。
53、 根據(jù)權(quán)利要求50的方法,其中所有所述第二解碼方案是相同的。
全文摘要
要被編碼的數(shù)據(jù)位被分解為多個子組。每個子組分別地被編碼以生成相應(yīng)的子代碼。所選子集從相應(yīng)的代碼字中被去除以,留下了被縮短的代碼字,以及多對一地被轉(zhuǎn)換為聚縮位。最終的代碼字是被縮短的代碼字和聚縮位的組合。最終代碼字的表示通過被劃分成所選子集和多個剩余子集而被解碼。每個剩余子集分別地被解碼。如果解碼中的一個失敗了,那么其解碼失敗的剩余子集至少部分地根據(jù)所選子集進(jìn)行解碼。如果解碼和編碼是系統(tǒng)性的,那么所選子集就是奇偶校驗位。
文檔編號H03M7/00GK101611549SQ200680042594
公開日2009年12月23日 申請日期2006年11月13日 優(yōu)先權(quán)日2005年11月15日
發(fā)明者E·沙龍, I·奧羅德, M·拉瑟, S·里斯特楊 申請人:特拉維夫大學(xué)拉莫特有限公司