專利名稱:用于多個階段錯誤校正的方法和設備的制作方法
用于多個階段錯誤校正的方法和設備
本申請是申請?zhí)枮?00680042594. 6,發(fā)明名稱為“用于多個階段錯誤校正的方法 和設備”,PCT國際申請日為2006年11月13日的發(fā)明專利申請的分案申請。技術領域
本發(fā)明一般涉及一種編碼和解碼的方案。尤其涉及一種通過編碼和解碼較短的子 代碼而提供用于代碼錯誤校正的方法和設備。
背景技術:
在現(xiàn)代信息時代中,諸如I和O的二進制數(shù)值被用于表示和傳送諸如存儲、視頻、 音頻、統(tǒng)計信息等的多種信息。令人遺憾的是,在二進制數(shù)據(jù)的存儲、傳輸、和/或處理過程 中,錯誤可能無意地被引入了(例如,“ I”位可能被變?yōu)椤?O ”位,反之亦然。
在本領域中已知的用于克服存在的這類錯誤的多種技術使用了一種錯誤校正代 碼方案來確保所存儲信息的可靠性。存儲方法的物理意義在于展示了一種可以用每個存儲 單元核心的信息位的形式進行表達的固定能力。這種固定的能力是在每個存儲單元核心中 信噪比的直接結果,這樣就定義了一個理論的上限(這就是眾所周知的“香農(nóng)極限”)。
在許多實例中,對于一個給定的代碼速率,為了接近理論校正能力,這種錯誤校正 代碼方案要求使用十分長的代碼。
然而,增加代碼長度會導致編碼器和解碼器電路的復雜性和面積增加。這個結果 就是在某些方面上,實現(xiàn)一個包括這樣的錯誤校正代碼方案的集成電路并不現(xiàn)實或者并不 有效??商娲?,還不存在充足的硅密度以用于支持標準解碼技術。
“錯誤校正”的定義(也就是錯誤檢測以及校正)在這里被用于數(shù)據(jù)存儲。根據(jù)前 向錯誤校正代碼,編碼和解碼或在軟件中或使用硬件來實現(xiàn)。
一旦發(fā)現(xiàn)了香農(nóng)極限[I],就會這樣的需要,即提供能接近達到香農(nóng)信息法則的性 能極限的代碼。眾所周知[2] - [5],為了達到這些極限,一種方案是必須增加代碼長度。 1993年,Berron首次發(fā)表了使用迭代解碼的近容量接近技術。然而,僅僅考慮了長代碼。 隨后,[7] - [11]通過引入低密度奇偶校驗(LDPC)代碼,更加接近這些容量極限的新結構 成功地被提出了,又是僅僅對于典型的約107位的長代碼。
基于LDPC迭代解碼器的特定方案在[12] — [14]中進行了描述,其中重點被放在 了減少計算單元的執(zhí)行復雜性、迭代次數(shù)、需要的存儲大小等等。
在一個復雜的、受限制的環(huán)境中為了實現(xiàn)這些長代碼以及從它們的性能中獲益, 于是就需要提供用于減少長代碼編碼器和解碼器電路復雜性的方法,這樣就可以使用實用 的、較短的方案。
一種現(xiàn)有技術由Dror等在的美國專利申請No. 20050160350中所教導,其公開了 一種的刪截方法,用于通過減少奇偶校驗位開銷以減少編碼器和解碼器電路的復雜性,
Dror的專利公開了一種為了單個位前向錯誤校正的高速數(shù)據(jù)編碼器/解碼器。數(shù) 據(jù)被布置到在一個矩形陣列中進行保護,這樣單個位的錯誤的位置可以根據(jù)行和列的位置而進行確定。結果是,減小了被提供用于將錯誤故障轉換為錯誤位置的查找表格的尺寸。
然而,在Dror的專利中所公開的兩個計算階段的每一個,單獨地并不是一個錯誤 校正方案,由于它不能提供用于校正在第一階段中的單個錯誤。因此,在不依賴第二階段中 所得到的計算結果情況下,第一階段甚至不能校正在每個子代碼中的單個錯誤。發(fā)明內(nèi)容
根據(jù)本發(fā)明,它提供了一種解碼代碼表示的方法,該方法包括以下步驟(a)根據(jù) 代碼字表示生成多個子字,以便每個子字的位都是所述代碼字表示的位的合適子集;(b) 根據(jù)每個子字的位單獨地解碼每個字,以生成相應的已解碼子字;以及(c)如果多個子字 的其中一個的解碼失敗,就修正相應于所述解碼失敗子字的解碼子字,由此產(chǎn)生已修正的 解碼子字,這種修改至少部分地根據(jù)至少一個成功地解碼的子字的對應解碼子字。
根據(jù)本發(fā)明,它提供了一種用于解碼M位字的設備,該設備包括(a)用于解碼N〈M 位字的解碼器;以及(b)用于分別地將解碼器應用到從M位字中所選出的每個N位不同子 集的機制,解碼器的每個應用單獨地依賴于這個應用被用到的N位,每個應用生成相應解 碼數(shù)據(jù),以便至少部分地根據(jù)應用的相應解碼數(shù)據(jù)生成M位字的最終解碼數(shù)據(jù),其中如果 應用中的一個失敗,那么該機制至少部分地根據(jù)至少一個成功應用的相應解碼數(shù)據(jù),實現(xiàn) 已失敗應用的相應解碼數(shù)據(jù)的修正。
根據(jù)本發(fā)明,它提供了一種用于解碼M位字的設備,該設備包括(a)多個用于各 自解碼N〈M位字的解碼器;以及(b)用于分別地將所述多個解碼器的每一個應用到從M位 字中選出的每個N位的不同子集的機制,所述多個解碼器中的每一個解碼器的每個應用單 獨地依賴于每個應用被用到的N位,每個應用生成相應解碼數(shù)據(jù),以便至少部分地根據(jù)各 個應用的相應解碼數(shù)據(jù)生成M位字的最終解碼數(shù)據(jù),其中如果解碼器中的一個失敗,那么 該機制至少部分地根據(jù)已成功的至少一個解碼器的相應解碼數(shù)據(jù),實現(xiàn)已失敗解碼器的相 應解碼數(shù)據(jù)的修正。
根據(jù)本發(fā)明,它提供了一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,該方法包括 以下步驟(a)根據(jù)第一編碼方案編碼數(shù)據(jù)位以生成第一奇偶校驗位組;(b)根據(jù)第二編碼 方案編碼數(shù)據(jù)位以生成第二奇偶校驗位組;(C)將第二奇偶校驗位組轉換為一個奇偶校驗 位的聚縮組,其中這個轉換是多對一的;以及(d)通過將第一奇偶校驗位組與聚縮奇偶校 驗位組相組合以生成用于所述數(shù)據(jù)位的奇偶校驗位的最終組。
根據(jù)本發(fā)明,它提供了一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,該方法包括 以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這樣每個數(shù)據(jù)位在多個子組中至少出現(xiàn)一 次;(b)根據(jù)相應的第一編碼方案對多個子組的每個子組進行編碼,以對于每個子組生成 相應的、至少一個的第一奇偶校驗位;(C)根據(jù)相應的第二編碼方案每個子組進行編碼,以 對于每個子組生成相應的、至少一個的第二奇偶校驗位;(d)將所有多個子組中的所有所 述至少一個第二奇偶校驗位轉換成聯(lián)合的聚縮奇偶校驗位,其中這個轉換是多對一的;以 及(e )通過將所有所述多個子組中的所有所述至少一個第一奇偶校驗位與所述聯(lián)合聚縮奇 偶校驗位相組合,以生成用于數(shù)據(jù)位的奇偶校驗位的最終組。
根據(jù)本發(fā)明,它提供了一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,該方法包括 以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這樣每個數(shù)據(jù)位在多個子組中至少出現(xiàn)一次;(b)使用相應的編碼方案對多個子組的每個子組進行編碼,以對于每個子組生成相應 的至少一個奇偶校驗位;(C)對于每個子組,從每個子組的位和每個子組的相應的至少一 個奇偶校驗位中選出相應的所選子集;(d)將所有多個子組中的所選子集轉換成聯(lián)合聚縮 所選位,其中這個轉換是多對一的;(e)通過將每個子組的位與每個子組的相應的至少一 個奇偶校驗位相組合,以對于每個子組生成相應的被縮短的代碼字,然后將每個子組中的 相應的所選子集去除;以及(f)通過將所有所述多個子組的相應的被縮短的代碼字與聯(lián)合 聚縮所選位相組合,以生成用于數(shù)據(jù)位的代碼字。
根據(jù)本發(fā)明,它提供了一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,該方法包括 以下步驟(a)根據(jù)數(shù)據(jù)位生成多個位的子組,這樣每個數(shù)據(jù)位在子組中至少出現(xiàn)一次; (b)使用相應的編碼方案對多個子組的每個子組進行編碼,以對于每個子組生成相應的代 碼字;(c)對于每個子組,從相應代碼字的位中選擇相應的所選子集;(d)將所有相應代碼 字中的相應所選子集轉換成聯(lián)合聚縮所選位,其中這個轉換是多對一的;(e)通過去除相 應于每個相應代碼字的所選子集的位,以生成用于每個相應代碼字的相應被縮短的代碼 字;以及(f)通過將所有多個子組中的相應被縮短的代碼字與聯(lián)合聚縮所選位相組合以生 成用于所述數(shù)據(jù)位的代碼字。
根據(jù)本發(fā)明,它提供了 一種解碼代碼字表示的方法,所述表示包括M個數(shù)據(jù)位和P 個奇偶校驗位,該方法包括以下步驟(a)將P個奇偶校驗位劃分成第一奇偶校驗位組和第 二奇偶校驗位組;(b)僅僅使用第一奇偶校驗位組對M個數(shù)據(jù)位進行解碼以提供校正的數(shù) 據(jù)位;以及(C)如果僅僅使用第一奇偶校驗位組的解碼失敗,那么使用第一奇偶校驗位組 和第二奇偶校驗位組,對M個數(shù)據(jù)位進行解碼以提供校正的數(shù)據(jù)位。
根據(jù)本發(fā)明,它提供了 一種解碼包括M個數(shù)據(jù)位和P個奇偶校驗位的代碼字表示 的方法,該方法包括以下步驟(a)將M個數(shù)據(jù)位劃分成K>1個子集,其中M數(shù)據(jù)位的每個 在K個子集中至少出現(xiàn)一次;(b)將P個奇偶校驗位劃分成第一奇偶校驗位組和第二奇偶 校驗位組;(c)將第一奇偶校驗位組劃分成K個子集,第一奇偶校驗位組的每個子集對應于 M個數(shù)據(jù)位的各自子集;(d)根據(jù)第一奇偶校驗位組的相應子集對M數(shù)據(jù)位的每個子集進行 解碼,以生成M數(shù)據(jù)位的每個子集的解碼數(shù)據(jù);(e)如果M個數(shù)據(jù)位的K子集的其中一個解 碼失敗,那么至少部分地根據(jù)第二奇偶校驗位組對所述其中一個子集進行解碼,以生成所 述其中一個子集的解碼數(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個子集的每個進行解碼,以生成每個子集 的解碼數(shù)據(jù);(d)如果K個子集的其中一個的解碼失敗,那么至少部分地根據(jù)被去除的所選 子集對一個子集進行解碼以生成所述其中一個子集的解碼數(shù)據(jù);以及(e)將所有K個子集 的解碼數(shù)據(jù)相組合,以生成用于所述M個數(shù)據(jù)位的總解碼數(shù)據(jù)。
本發(fā)明的第一方面是一種解碼代碼字表示的方法。在本發(fā)明的這一方面以及本發(fā) 明其它的、相似的方面,被解碼的代碼字表示,而不是代碼字被寫入存儲器,因為寫入、然后 讀取代碼字會給代碼字引入錯誤。多個子字根據(jù)代碼字的表示被生成,這樣每個子字就是代碼字表示的位的合適子集。每個子字根據(jù)它自己的位獨立地被解碼以生成一個相應的解碼子字。如果子字中的一個的解碼失敗,那么對應于其解碼已失敗的子字的解碼子字就會被修正,因此會產(chǎn)生一個已修正的解碼子字。這個修正至少部分地是根據(jù)這樣的解碼子字進行的,即這些解碼子字與一個或者多個的成功地被解碼的子字相對應。
如下所述,術語“解碼子字”的范圍同時包括通過成功地解碼一個子字所得到的數(shù)值和解碼子字的嘗試失敗的邏輯指示。需要注意的是,通過成功地解碼子字所獲得的數(shù)值是原始代碼字自己的一部分,而不僅僅是其中的一個表示。換句話說,一個“被成功地解碼的子字”是一個子代碼字?!靶拚币粋€解碼子字意味著將解碼子字從一個數(shù)值改變?yōu)榱硪粋€數(shù)值,或者從一個解碼失敗的邏輯指示改變?yōu)橐粋€數(shù)值,或者從一個數(shù)值改變?yōu)橐粋€失敗的邏輯指示。
例如,在下面的范例情形I中,兩個子字Of**和是根據(jù)代碼字的表示而被生成的。每一個子字使用[11,7,3]的解碼器而分別地被解碼。如果Cf**的解碼失敗,而的解碼成功,那么解碼的嘗試失敗的邏輯指示就會通過以由ξ所解碼的C1替代邏輯指示而進行修正。這種修正是根據(jù)對應于成功地被解碼的 的子代碼字CforfiCfort使用 [15,7,5]中的編碼器而進行編碼,以再生P2, P2與,進行異或運算以獲得^ P和■進行級聯(lián)以獲得G。
優(yōu)選地,如果子字中的一個解碼失敗,那么來自被修正的解碼子字的數(shù)據(jù)與來自對應于成功被解碼的子字的所有解碼子字的數(shù)據(jù)進行組合。例如,在下面的范例情形I中, 如果解碼Ofwf失敗,而解碼成功,那么從《^所解碼出的C1的最前七位就與的最前七位相級聯(lián)以恢復首標(header)。
最優(yōu)選地,來自已修正的解碼子字的數(shù)據(jù)與來自對應于成功地被解碼的子字的所有解碼子字的數(shù)據(jù)的組合通過包含組裝來自已修正的解碼子字的數(shù)據(jù)與來自對應于成功地被解碼的子字的所有解碼子字的數(shù)據(jù)的步驟而實現(xiàn)?!敖M裝”來自兩個或更多不同來源的數(shù)據(jù)在這里被定義為將來自所有來源的位可能與被變更次序的位的順序放在一起,以及可能與至少被重復一次的一個或多個位放在一起,并放入一個寄存器或存儲位置。典型地, 然而,如同在下面的范例情形I中,數(shù)據(jù)通過級聯(lián)來自各種不同數(shù)據(jù)來源的位進行“組裝”, 無需考慮更改多個位的順序以及不考慮重復位。
優(yōu)選地,多個子字是不相交的。例如,在下面范例情形I中,和Ofart是不相交的。
優(yōu)選地,多個子字都包含相同數(shù)目的位。例如,在下面范例情形I中,Cfort^SilertIΛ都包含11位。
本發(fā)明的第二個方面是一種用于解碼M位字的設備。該設備包括用于解碼Ν〈Μ位的字的解碼器和將解碼器單獨地應用到從M位字所選出的N位的每個不同子集的機制。解碼器的每個應用單獨地依賴于其應用被應用到的N位。解碼器的每個應用生成對應的解碼數(shù)據(jù),以便至少部分地根據(jù)解碼器應用所產(chǎn)生的解碼數(shù)據(jù)來生成最終的解碼數(shù)據(jù)。如果解碼的多個應用中的一個失敗了,那么至少部分地根據(jù)解碼器的其它應用所產(chǎn)生的解碼數(shù)據(jù)來修正這些應用的解碼數(shù)據(jù)。
例如,在下面范例情形I中,M=26, N=Il以及解碼器是[11,7,3]的解碼器。這個 11位的子集是亡和Qlwt [11,7,3]的解碼器單獨地被應用到這兩個子集。最終的解I— ο碼數(shù)據(jù)是已解碼的14位首標(header)。如果解碼失敗,但成功解碼,那么解碼的嘗試失敗的邏輯指示就通過用從所解碼的C1替代該邏輯指示而進行修正。這種修正根據(jù)對應于成功地被解碼的,的解碼子字=CJfwf采用[15,7,5]的編碼器進行編碼以再生P2, P2與f進行異或運算以得到^ Pfort和g進行級聯(lián)以得到G 。
優(yōu)選地,這些子集是不相交的。例如,在下面的范例情形I中,和是不相交的。
本發(fā)明的第三個方面是一種用于解碼M位字的設備。該設備包括多個解碼器,每個解碼器解碼N〈M位的字。該設備還包括一種機制,用于將每個解碼器單獨地應用到從M位字所選出的N位的每個不同子集。解碼器的每個應用單獨地依賴于其正被應用到的N·位。 解碼器的每個應用生成相應的解碼數(shù)據(jù),以便至少部分地根據(jù)通過應用多個解碼器所產(chǎn)生的解碼數(shù)據(jù)來生成最終的M位字的解碼數(shù)據(jù)。如果多個解碼器中的一個失敗了,那么至少部分地根據(jù)其它解碼器所產(chǎn)生的解碼數(shù)據(jù)來修改那些對應的解碼數(shù)據(jù)。
例如,在下面范例情形I中,M=26,N=11以及解碼器是文獻[11,7,3]的解碼器。這個11位的子集是文獻[11,7,3]的每個解碼器被單獨地應用到這兩個子集JLο中的一個。最終的解碼數(shù)據(jù)是已解碼的14位首標。如果解碼f失敗,但成功解碼Ofsrt.1,那么試圖解碼《^―的邏輯指示就通過用從^所解碼的C1替代該邏輯指示而進行修正。這種修正根據(jù)對應于所成功地解碼的的解碼子字pi^采用文獻[15,7,5]的編碼器進行編碼以再生p2,P2與,進行異或運算以得到和■進行級聯(lián)以得到
優(yōu)選地,這些子集是不相交的。例如,下面范例情形I中,和是不相交的。
本發(fā)明的第四個方面是一種提供了用于數(shù)據(jù)位錯誤校正方案的方法。該數(shù)據(jù)位根據(jù)第一編碼方案而被編碼以生成第一奇偶校驗位組。這些數(shù)據(jù)位也根據(jù)第二編碼方案而被編碼以生成第二奇偶校驗位組。第二奇偶校驗位組通過多對一的轉換方式轉換成為一個聚縮的奇偶校驗位組。通過將第一組和第二奇偶校驗位組進行組合以生成一個最終奇偶校驗位組。
例如,在下面范例情形I中,首標的數(shù)據(jù)位是14位。第一編碼方案是產(chǎn)生Cf*和 Cfert的[11,7,3]的方案。第一奇偶校驗位組是每一個的最后四位。第二編mMΛ碼方案是產(chǎn)生第二奇偶校驗位組P1和P2的[15,7,5]方案。第二奇偶校驗位組通過多對一的轉換異或運算(8位進,4位出)而被轉換成聚縮組P。最終奇偶校驗位組通過將0,的最后四位和Cfwf的最后四位與P進行組合而被生成,以提供在圖8以附圖標記246和254m所表示的代碼字的奇偶校驗位。
優(yōu)選地,通過組裝第一奇偶校驗位組的至少一部分與聚縮奇偶校驗位組,第一奇偶校驗位組與聚縮奇偶校驗位組進行組合。例如,在下面范例情形I中,Cf** Cftef和P、 J一起被寫在閃存設備的一個公用位置,這樣Cfert的最后四位、Cfert的最后四位和P就被一起存儲在公用位置上。
優(yōu)選地,轉換步驟包括對第二奇偶校驗位組的多個子組進行異或運算。例如,在下面范例情形I中,P1和P2進行異或運算。
本發(fā)明的第五個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方法。位的多個子組根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在各子組中至少出現(xiàn)一次。每個子組根據(jù)相應的第一編碼方案進行編碼以生成一個或者多個相應的第一奇偶校驗位。每一個子組根據(jù)相應的第二編碼方案進行編碼以生成一個或者多個相應的第二奇偶校驗位。所有的第二奇偶校驗位通過多對一操作被轉換為聯(lián)合聚縮奇偶校驗位。最終奇偶校驗位組通過將所有第一奇偶校驗位與聯(lián)合聚縮奇偶校驗位進行組合而被生成。
例如,在下面范例情形I中,數(shù)據(jù)位是首標的14位。兩個子組是首標的最前7位和最后7位。每個數(shù)據(jù)位在其中一個子組中恰好只出現(xiàn)一次,而在另一個子組中根本不出現(xiàn)。第一編碼方案全是產(chǎn)生Cf *和Cfwf的[11,7,3]的方案,其生成用于第一子組的四個奇偶校驗位(Cfert的最后四位)和用于第二子組的四個奇偶校驗位的最后四位)。第二編碼方案都是[15,7,5]的方案,其生成用于第一子組的四個奇偶校驗位P1和用于第二子組的四個奇偶校驗位P2。P1和P2通過多對一的“異或”操作(8位進,4位出)被轉換為聚縮組P。通過將P寫入閃存設備中、并將Cfort的最后四位和匚2—的最后四位與P進行組合生成最終奇 偶校驗位組。
優(yōu)選地,通過組裝所有第一奇偶校驗位組與聚縮奇偶校驗位組,第一奇偶校驗位組與聚縮奇偶校驗位組進行組合。例如,在下面范例情形I中,Cfwf 'Cfert和P 一起被寫在閃存設備中,這樣Cfert的最后四位、Cfirt的最后四位和P就被一起存儲在公用位置上。
優(yōu)選地,每個數(shù)據(jù)位在多個子組中僅僅出現(xiàn)一次。例如,在下面范例情形I中,每個首標的最前7位在第一子組中出現(xiàn)一次,而在第二子組中根本不出現(xiàn),以及每個首標的最后7位在第二子組中只出現(xiàn)一次,而在第一子組中根本不出現(xiàn)??商娲?,至少一個數(shù)據(jù)位在多個子組中至少出現(xiàn)兩次。例如,在下面范例情形2中,對于編碼4096個信息位,在 586個代碼字中就有586x7 = 4102個數(shù)據(jù)位,這樣其中一個信息位可以被復制6次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形I中,兩個子組都具有7位。
優(yōu)選地,對于子組中的至少一個,通過使用一個通用的編碼方案來獲得相應的第一和第二編碼方案,這樣(多個)第一編碼方案根據(jù)第一順序來編碼(多個)子組位,并且(多個)第二編碼方案根據(jù)第二順序來編碼(多個)子組位。例如,在下面范例情形I的一個可選例中,[11,7,3]的編碼可以被作為第一編碼方案獨立地應用到首標的最前和最后7位上; 于是首標最如7位的順序可以被改變,以及首標最后7位的順序可以被改變;然后[11,7,3]的編碼可以作為第二編碼方案被獨立地應用到已改變次序的首標的最前和最后7位上。 通過將異或運算由編碼已改變序列的最前7首標位所產(chǎn)生的代碼字的最后四位與由編碼已改變序列的最后7首標位所產(chǎn)生的代碼字的最后四位,產(chǎn)生聚縮奇偶校驗位。正如在下面范例情形I中,14個數(shù)據(jù)位和12個奇偶校驗位將被存儲。
優(yōu)選地,根據(jù)通用的第一編碼方案對所有的子組進行編碼。例如,在下面范例情形 I中,這個通用的第一編碼方案是[11,7,3]的編碼方案。
優(yōu)選地,根據(jù)通用的第二編碼方案對所有的子組進行編碼。例如,在下面范例情形 I中,這個通用的第二編碼方案是[15,7,5]的編碼方案。
優(yōu)選地,將第二奇偶校驗位轉換為聯(lián)合聚縮奇偶校驗位,這個轉換包括將對應于子組中的一個的第二奇偶校驗位的至少一個和對應于子組中另一個的第二奇偶校驗位的至少一個進行異或運算。例如,在下面范例情形I中,當P1與P2進行異或運算時,P1和P2 是“第二奇偶校驗位”的兩個組。
本發(fā)明的第六個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方法。多個子組的位根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在多個子組中至少出現(xiàn)一次。每個子組根據(jù)相應的編碼方案進行編碼以生成一個或者多個相應的第一奇偶校驗位。對于每個子組,相應的所選子集是從子組的位以及(多個)相應的奇偶校驗位中被選擇出來的。所有的所選子集通過多對一操作被轉換為聯(lián)合聚縮所選位。對于每個子集而言,相應的被縮短代碼字是通過將每個子集的位與(多個)相應奇偶校驗位進行組合,然后去除相應所選子集的位而被生成的。最后,用于數(shù)據(jù)位的代碼字是通過將所有的被縮短代碼字與聯(lián)合聚縮所選位進行組合而被生成的。
例如,在下面范例情形I中,數(shù)據(jù)位是首標的14位。兩個子組是首標的最前7位和最后7位。每個數(shù)據(jù)位在一個子組中恰好只出現(xiàn)一次,而在另一個子組中根本不出現(xiàn)。每個子組使用[15,7,5]的編碼器進行編碼以生成代碼字CjP C2,其中每個包括8個奇偶校驗位?!八x”的子集P1和P2通過多對一的異或操作(8位進,4位出)從C1和C2中的位轉換為P的聯(lián)合聚縮所選位。通過將子組的位與由[15,7,5]的解碼器所產(chǎn)生的奇偶校驗位進行組合,以產(chǎn)生全代碼字C1和C2,然后從C1中去除所選子集P1和從C2中移去所選子集P2,生成縮短的代碼字C和O,^通過將'Cpti與P寫入閃存設備中,并將iQ-、 Cfeft與P進行組合以生成最終的代碼字。
優(yōu)選地,通過組裝子組位與相應的奇偶校驗位,將每個子組位與相應的奇偶校驗位進行組合。例如,在下面范例情形I中,代碼字C1是通過將第一子組與由編碼第一子組所產(chǎn)生的奇偶校驗位相級聯(lián)而被產(chǎn)生的,代碼字C2是通過將第二子組與由編碼第二子組所產(chǎn)生的奇偶校驗位相級聯(lián)而被產(chǎn)生的。
優(yōu)選地,通過組裝所有被縮短的代碼字與聯(lián)合所選聚縮位,被縮短的代碼字與聯(lián)合所選聚縮位進行組合。例如,在下面范例情形I中,Cfwt Cfm1與P —起被存儲到閃存、 J設備中的一個公用位置。
優(yōu)選地,每個數(shù)據(jù)位在多個子組中僅僅出現(xiàn)一次。例如,在下面范例情形I中,每個首標的最前7位在第一子組中出現(xiàn)一次,而在第二子組中根本不出現(xiàn),并且每個首標最后7位在第二子組中只出現(xiàn)一次,而在第一子組中根本不出現(xiàn)??商娲?,至少一個數(shù)據(jù)位在多個子組中至少出現(xiàn)兩次。例如,在下面范例情形2中,對于編碼4096信息位,在586個代碼字中就有586x7 = 4102個數(shù)據(jù)位,這樣其中一個信息位可以被復制6次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形I中,兩個子組每一個都具有7位。
優(yōu)選地,根據(jù)一個通用的第一編碼方案對所有的子組進行編碼。例如,在下面范例情形I中,這個通用的第一編碼方案是[15,7,5]的編碼方案。
優(yōu)選地,將所選的子集轉換為聯(lián)合聚縮所選位,這個轉換包括將一個所選子集位與另一個所選子集的位進行異或運算。例如,在下面范例情形I中,當P1與P2進行異或運笪ο
本發(fā)明的第七個方面是一種提供用于數(shù)據(jù)位錯誤校正方案的方法。多個位的子組根據(jù)數(shù)據(jù)位而被生成,這樣每個數(shù)據(jù)位在子組中至少出現(xiàn)一次。每個子組使用相應的編碼方案進行編碼以生成相應的代碼字。對于每個代碼字,相應的所選位的子集被選擇。所有的所選子集通過多對一操作被轉換為聯(lián)合聚縮所選位。對于每個代碼字而言,相應的被縮短代碼字是通過從代碼字中去除相應所選子集的位而被生成的。總體上,用于數(shù)據(jù)位的代碼字是通過將所有被縮短代碼字與聯(lián)合聚縮所選位進行組合而被生成的。需要注意的是, 因為本發(fā)明的第七個方面并不需要使用單獨的、區(qū)別于數(shù)據(jù)位的奇偶校驗位,因此本發(fā)明的這個方面同時可應用于系統(tǒng)編碼和非系統(tǒng)編碼。
例如,在下面范例情形I中,數(shù)據(jù)位是首標的14位。兩個子組是首標的最前7位和最后7位。每個數(shù)據(jù)位在一個子組中恰好只出現(xiàn)一次,而在另一個子組中根本不出現(xiàn)。每個子組使用對應的[15,7,5]的編碼方案而被編碼以生成相應的代碼字C1和C2,所選子集 P1是從C1 位中被選擇出來的,所選子集P2是從C2位中被選擇出來的。P1和P2通過多對一的異或操作(8位進,4位出)被轉換為P。通過從C1中去除P1和從C2中去除P2以生成被縮短的代碼字Cfef和C12-??傮w上,用于數(shù)據(jù)位的代碼字是通過將1、c^*與P寫入閃存設備中,并將C與P進行組合而被生成的。,2
優(yōu)選地,通過組裝所有被縮短的代碼字與聯(lián)合所選聚縮位,被縮短的代碼字與聯(lián)合所選聚縮位進行組合。例如,在下面范例情形 中,CfortP一起被存儲在閃存設備中的一個公用位置上。
優(yōu)選地,每個數(shù)據(jù)位在多個子集中僅僅出現(xiàn)一次。例如,在下面范例情形I中,每個首標的最前7位在第一子組中出現(xiàn)一次,而在第二子組中根本不出現(xiàn),并且每個首標最后7位在第二子組中只出現(xiàn)一次,而在第一子組中根本不出現(xiàn)??商娲?,至少一個數(shù)據(jù)位在多個子組中至少出現(xiàn)兩次。
優(yōu)選地,所有的子組具有相同的大小。例如,在下面范例情形I中,兩個子組每一個都具有7位。
優(yōu)選地,根據(jù)通用的第一編碼方案對所有的子組進行編碼。例如,在下面范例情形 I中,這個通用的第一編碼方案是[15,7,5]的編碼方案。
優(yōu)選地,將所選子集轉換為聯(lián)合聚縮所選位,這個轉換包括將一個所選子集的位與另一個所選子集的位進行異或運算。例如,在下面范例情形I中,將P1與P2進行異或運笪
本發(fā)明的第八個方面是一種解碼包含M個數(shù)據(jù)位和P個奇偶校驗位的代碼字表示的方法。這P個奇偶校驗位被劃分為第一組奇偶校驗位和第二組奇偶校驗位。M個數(shù)據(jù)位僅采用第一組奇偶校驗位進行解碼,以提供校正數(shù)據(jù)位。如果僅采用第一組的奇偶校驗位的解碼失敗了,那么M個數(shù)據(jù)位同時采用兩組奇偶校驗位進行編碼,以提供校正數(shù)據(jù)位。
例如,在下面范例情形I中,M=14以及P = 12。這14個數(shù)據(jù)位是的最前7位和的最前7位。這個奇偶校驗位是的最后4位、的最后4位、以及戶。 奇偶校驗位的第一組是^^的最后4位和^ 的最后4位。奇偶校驗位的第二組是#。多個數(shù)據(jù)位采用[11,7,3]的、僅具有第一組奇偶校驗位的解碼器進行解碼,以提供^"*的最前7位和的最前7位的解碼表示。如果解碼失敗但解碼成功,那么Cf"MrK r采用[15,7,5]的編碼器進行編碼以再生P2, P2與P進行異或運算以得到 級聯(lián)以得到G以及采用[15,7,5]的解碼器進行解碼。
本發(fā)明的第九個方面是一種解碼包含M個數(shù)據(jù)位和P個奇偶校驗位的代碼字表示的方法。這M個數(shù)據(jù)位被劃分為兩個或更多的子集,以使得每個數(shù)據(jù)位至少在各個子集中出現(xiàn)一次。這P個奇偶校驗位被劃分為第一組奇偶校驗位和第二組奇偶校驗位。第一組奇偶校驗位進一步地被劃分為相同數(shù)目的子集,如同數(shù)據(jù)位以數(shù)據(jù)位子集與第一組奇偶校驗位子集之間的1:1對應而進行劃分。每個數(shù)據(jù)位子集根據(jù)其相應的第一奇偶校驗位子集進行解碼,以生成相應的解碼數(shù)據(jù)。如果這些解碼中的一個失敗了,那么那個解碼已失敗的數(shù)據(jù)位子集再次至少部分地根據(jù)第二組奇偶校驗位進行解碼,以生成相應的解碼數(shù)據(jù)。最后, 將所有數(shù)據(jù)位子集的解碼數(shù)據(jù)進行組合,以生成用于M個數(shù)據(jù)位的總解碼數(shù)據(jù)。
例如,在下面范例情形I中,M=14以及P = 12。這14個數(shù)據(jù)位被劃分為兩個子 集=Ofwf的最前7位和的最前7位。奇偶校驗位的第一組是的最后4位和的最后4位。奇偶校驗位的第二組是#。對應于的最前7位的第一奇偶校驗位子集是的最后4位。對應于的最前7位的第一奇偶校驗位子集是的最后4位。 的最前7位僅采用的最后4位,由[11,7,3]的解碼器進行解碼。^ 的最前 7位僅采用^,的最后4位,由[11,7,3]的解碼器進行解碼。如果解碼失敗但解碼成功,那么所解碼的Cfwf采用[15,7,5]的編碼器進行編碼以再生P2, P2與,進行異或運算以得到巧,《和^進行級聯(lián)以得到A,以及ζ采用[15,7,5]的解碼器進行解碼,由此再生代碼C10所再生的C1的最前7位和所解碼的Cf9rt的最前7位進行級聯(lián),以生成所解碼的14位首標。
優(yōu)選地,數(shù)據(jù)位子集的解碼數(shù)據(jù)通過組裝數(shù)據(jù)位子集的解碼數(shù)據(jù)而進行組合。例如,在下面的范例情形I中,所解碼的Cfwt的最前7位和所解碼的Cfeff的最前7位進行級聯(lián),以生成所解碼的14位首標。
優(yōu)選地,這些數(shù)據(jù)位子集是不相交的。例如,在下面的范例情形I中,的最前 7位和的最前7位是不相交的兩個子集。
優(yōu)選地,所有數(shù)據(jù)位子集都具有相同的大小。例如,在下面的范例情形I中,所有數(shù)據(jù)位子集都具有7個位。
優(yōu)選地,每個數(shù)據(jù)子集根據(jù)相應的第一組奇偶校驗位子集、采用相應的第一解碼方案進行解碼;以及根據(jù)數(shù)據(jù)位子集的第二組奇偶校驗位的解碼包含了要采用相應的第二解碼方案,這里的數(shù)據(jù)位子集已由第一解碼方案解碼失敗。例如,在下面的范例情形I中, 第一解碼方案是[11,7,3]的方案,第二解碼方案是[15,7,5]的方案。
優(yōu)選地,對于這些數(shù)據(jù)位子集中的至少一個,相應的第一和第二解碼方案使用通用的解碼方法。例如,將這種選擇擴展至本發(fā)明的第五方面的范例情形1,第一解碼方案和第二解碼方案都是[11,7,3]的方案。第一解碼方案采用所存儲的奇偶校驗位,這個奇偶校驗位由未被交換次序的首標位進行編碼而生成。如果第一組7個存儲數(shù)據(jù)位的解碼失敗但最后7個存儲數(shù)據(jù)位的解碼成功,那么成功地被解碼的數(shù)據(jù)位被交換次序并進行編碼,以再生相應的奇偶校驗位。這些所再生的奇偶校驗位與最后4位的存儲奇偶校驗位進行異或運算,以再生最前7個被交換次序的首標位的奇偶校驗位,這些奇偶校驗位被用于第二次嘗試通過執(zhí)行已交換次序的最前7個存儲數(shù)據(jù)位的解碼來解碼最前7個存儲數(shù)據(jù)位。
優(yōu)選地,所有的第一解碼方案都是相同的。例如,在下面的范例情形I中,所有的第一解碼方案都是[11,7, 3]的、同樣的方案。
優(yōu)選地,所有的第二解碼方案都是相同的。例如,在下面的范例情形I中,所有的第二解碼方案都是[15, 7,5]的、同樣的方案。
本發(fā)明的第十個方面是一種從具有N>M位的代碼表示中解碼出M個數(shù)據(jù)位的方法。至多N-M位的所選子集從這N位中被去除,由此產(chǎn)生剩余位的集合。剩余位被劃分為兩個或更多子集,以使得每個剩余位是子集中至少一個的成員。每個剩余位子集僅根據(jù)它自己的位進行解碼,以生成相應的解碼數(shù)據(jù)。如果剩余位子集中的一個解碼失敗,那個剩余位子集至少部分地根據(jù)被去除的所選子集進行解碼,以生成剩余位子集的相應解碼數(shù)據(jù)。最后,將所有的解碼數(shù)據(jù)進行組合以生成用于M數(shù)據(jù)位的總解碼數(shù)據(jù)。注意,因為本發(fā)明的第十個方面不需要使用單獨的、區(qū)別于數(shù)據(jù)位的奇偶校驗位,本發(fā)明的這個方面可以同時應用到系統(tǒng)編碼和非系統(tǒng)編碼。
例如,在下面的范例情形I中,M=14以及N=26。被去除的所選子集是,剩余位被O劃分為兩個子集,根據(jù)其自己的11位進行解碼,而不需要其它信息, 作為結果的解碼字的最前7位為對應于的解碼數(shù)據(jù)。f僅根據(jù)其自己的11位進行解碼,而不需要其它信息,作為結果的解碼字的最前7位為對應于Ofwf的解碼數(shù)據(jù)。如果解碼失敗但解碼亡|*^成功,那么解碼的Cfort采用[15,7,5]的編碼器進行編碼以再生P2,P2與,進行異或運算以獲得_ 和_進行級聯(lián)以獲得以及ζ采用[15,7,5]的解碼器進行解碼。所解碼的Cf"*的最前7位和所解碼的Cfert的最前7位進行級聯(lián)以生成解碼的14位首標。
優(yōu)選地,剩余位子集的解碼數(shù)據(jù)通過組裝剩余位子集的解碼數(shù)據(jù)而進行組合。例 如,在下面的范例情形I中,所解碼的Cff的最前7位和所解碼的的最前7位進行級 聯(lián)以生成解碼的14位首標。優(yōu)選地,這些剩余位子集是不相交的。例如,在下面的范例情 形I中,Gfwf的最前7位和的最前7位是不相交的兩個子集。
優(yōu)選地,所有剩余位子集都具有相同的大小。例如,在下面的范例情形I中,所有 數(shù)據(jù)位子集都具有7位。
優(yōu)選地,每個剩余位子集根據(jù)其自己的位、采用相應的第一解碼方案進行解碼;以 及根據(jù)剩余位子集的被去除所選子集的解碼包括采用相應的第二解碼方案,這里的剩余位 子集已由第一解碼方案解碼失敗。例如,在下面的范例情形I中,第一解碼方案是[11,7,3] 的方案,以及第二解碼方案是[15,7,5]的方案。
優(yōu)選地,對于這些剩余位子集中的至少一個,相應的第一和第二解碼方案使用通 用的解碼方法。例如,將這種選擇擴展至本發(fā)明第五方面的范例情形1,第一解碼方案和第 二解碼方案都是[11,7,3]的方案。第一解碼方案采用所存儲的奇偶校驗位,這個奇偶校驗 位由對未被交換次序的首標位進行編碼而生成。如果最前7個存儲數(shù)據(jù)位的解碼失敗但最 后7個存儲數(shù)據(jù)位的解碼成功,那么成功地解碼的數(shù)據(jù)位被交換次序并進行編碼,以再生 相應的奇偶校驗位。這些再生的奇偶校驗位與最后4位的存儲奇偶校驗位進行異或運算, 以再生最前7個被交換次序的首標位的奇偶校驗位,這些奇偶校驗位被用于第二次嘗試通 過執(zhí)行已交換次序的最前7個存儲數(shù)據(jù)位的解碼來解碼最前7個存儲數(shù)據(jù)位。
優(yōu)選地,所有的第一解碼方案都是相同的。例如,在下面的范例情形I中,所有的 第一解碼方案都是同樣的[11,7, 3]的方案。
優(yōu)選地,所有的第二解碼方案都是相同的。例如,在下面的范例情形I中,所有的 第二解碼方案都是同樣的[15,7,5]的方案。
為較好的理解本發(fā)明其中的實施例,以附圖作為參考,其中相似的附圖標記在本 文中表示對應的部件或單元,其中
圖1是本發(fā)明的設備的優(yōu)選實施例的方框圖2是含有圖1的多階段編碼器的組件的方框圖3是當在圖2的狀態(tài)機控制邏輯方框中執(zhí)行的編碼過程的流程圖4是含有圖1的多階段解碼器的組件的方框圖5是含有圖4的雙模解碼器單元的組件的方框圖6是關于范例情形I的解碼過程的流程圖7是關于范例情形2的解碼過程的流程圖8是關于范例情形I的解碼過程的示意性圖示說明;
圖9是關于范例情形2的CER性能對SER性能的圖解圖示說明;
圖10是關于范例情形I和范例情形2的用于塊碼[15,7,5]的生成器矩陣的描 述;
圖11是關于范例情形I和范例情形2的用于塊碼[15,7,5]的奇偶校驗矩陣“H” 的描述;
圖12是關于范例情形I和范例情形2的用于塊碼[15,7,5]的雙重錯誤位置的表 格描述;
圖13是關于范例情形I和范例情形2的用于塊碼[11,7,3]的奇偶校驗矩陣H(1) 的描述;
圖14是關于范例情形I的用于塊碼[11,7,3]的單個錯誤位置的表格描述。
具體實施方式
本發(fā)明公開了一種為了確保被存儲信息可靠性而提供錯誤校正編碼方案的方法 和設備。這個所提出的方法接近長代碼的性能,然而卻避免了長代碼編碼器和解碼器的電 路復雜性。因此,獲得了硬件和軟件實現(xiàn)的尺寸的減小和復雜性的降低。
術語“解碼數(shù)據(jù)的修正”在這里是指從解碼數(shù)據(jù)的第一數(shù)值到解碼數(shù)據(jù)的第二數(shù) 值的修正。根據(jù)本發(fā)明提供的方法,某個短代碼字表示的解碼數(shù)據(jù)的修正是在其它短代碼 字表示基礎上實現(xiàn)的。因此,用于其解碼已失敗的代碼字表示的附加解碼嘗試根據(jù)其它短 代碼字表示的解碼數(shù)據(jù)而執(zhí)行。
術語“代碼字解碼數(shù)據(jù)的數(shù)值”在這里是指任何有效的數(shù)值??商娲?,這個術語 備選地可以指例如因為解碼失敗而沒有當前已知數(shù)值的邏輯指示。因此,解碼數(shù)據(jù)的“修 正”可以是從一個有效數(shù)值到另一有效數(shù)值、從解碼失敗的邏輯指示到一個有效數(shù)值、或從 一個有效數(shù)值到解碼失敗的邏輯指示的修正。
在本發(fā)明中,術語“子集”這里同時是指小于其所屬于的全集的合適子集,以及是 指全集它自己。
應當理解,一個短字的解碼數(shù)據(jù)的修正根據(jù)其它短字的解碼數(shù)據(jù),可由本發(fā)明作 為一個可選項所提供,以及不需要在解碼長代碼字的每個實例期間發(fā)生。對于具有錯誤特 定出現(xiàn)的長字的實例,可以是所有短代碼字表示都在第一次嘗試中成功地解碼的情形。在 這種情形下,不應用解碼數(shù)據(jù)的修正。這種修改僅在用于至少一個短字的解碼已失敗的情 形才會被執(zhí)行。因此,術語“實現(xiàn)修正”意指“根據(jù)需要可選擇地實現(xiàn)修正”。
本發(fā)明方法的優(yōu)選實施例在這里連同范例情形-1和范例情形-2 —起進行描述。 這兩個范例情形公開了提供錯誤校正代碼方案的設備,其中這個設備特別地、能很好地適 合于數(shù)據(jù)存儲的使用。因此,本發(fā)明的優(yōu)選設備包括一種解碼器,它被提供用于增加特定字 的延遲以便在解碼過程中應用進一步的步驟。由于峰延遲(在很少的例子中),這個錯誤校 正編碼方案可能并不適用于一些具有固定限制延遲的同步或半同步流的通信系統(tǒng)。
需要強調(diào)的是,本發(fā)明的方法所引入的平均延遲并不比在本領域中已知方法所引 入的高。然而,在其中延遲相當多地增加的少有例子中,本發(fā)明的方法特別地適用于存儲媒 體,較少地適用于同步通信系統(tǒng)。
范例1:
這里提供了一種包括獨立位的閃存設備,其中每一個核心單元有一個位并且信元 錯誤率(CER)是4. 7X10_5。因為閃存設備中每一單元具有一位,所以位元錯誤率(BER)也 是4.7X10—5。閃存設備的閃存存儲器包括許多塊;每個塊被定義為有多頁。每頁包括首標或控制區(qū)以及多個扇區(qū),每一扇區(qū)長為512數(shù)據(jù)位。當提供用于包含14位的每個塊的首標的可靠存儲以及實現(xiàn)首標錯誤率(HER)性能低于10 —1Q (HER<10-10)時,需要在用于閃存設備的快速控制器中設計錯誤校正編碼方案。
為了在具有4. 7 X IO-5CER輸入的14位集合上提供HEIKIO,的性能目標,需要3 位錯誤校正能力。一個錯誤的校正(即t= I)可提供HER 3.8X 10_7以及兩個錯誤的校正(即t = 2)可提供HER 2. 1Χ10_10ο
因此,需要三錯誤校正[29,14]BCH代碼,其中代碼速率R等于O. 4828卿14/29) 以及首標采用一個29位長度的代碼字進行表示。
編碼和解碼BCH代碼以及構建這種電路的方式的文獻在過去的多年里(參看文獻[16]-[47])已被詳盡地研究了。當使用本發(fā)明的方法時,編碼和解碼的例子可被提供以用于獲得相同的HER目標性能。以下所敘述的例子利用了被簡化的控制器,這個控制器包括僅能校正兩個錯誤而不是三個錯誤的組件代碼。而且,因為長度的減少不一定是組件代碼能夠校正的錯誤數(shù)目(是2而不是3)的直接結果,但是替代地它主要以整個方案結構來確定代碼長度,該代碼長度需要僅26位用于每個首標,而不是29位代碼(即較高的代碼速率 R = 14/26 = O. 5385可被實現(xiàn))。在閃存首標大小上所獲的減少增益是11. 54%。這個優(yōu)點可以在下面的非限制例子中而被實現(xiàn)
[15,7,5]的塊代碼替代文獻[29,14]的BCH代碼而被設計(因此減少了用于編碼器/解碼器硬件的復雜性)。符號[n,k,d]通常定義代碼參數(shù)如下‘η’是指代碼長度,‘k’ 是指信息位的數(shù)目,以及‘d’是指代碼的最小漢明(糾錯)距離。
這樣一個代碼的謹慎選擇就獲得[11,7,3]的刪截碼(通過提取位12-15),這使得最小漢明距離等于3。因此,采用這個刪截碼校正單個錯誤是可能的。在這個觀測結果的基礎上,公開了具有2位錯誤校正能力的15位代碼。這個15位代碼當去除最后4位(即僅使用最前11位)時,被提供以校正任何單個錯誤。
用于這個[15,7,5]塊代碼的生成器矩陣270被示于圖10中。這個編碼過程,SP 從7個信息位派生8個奇偶校驗位,在GF (2)上采用矩陣乘法操作按以下公式而進行
c = m · G, [c] = 1X15, [m] =1X7, [G] = 7X15,(1.1)
其中GF (2)是用于具有兩個單元的伽羅瓦有限場(Galois FiniteFiled)的符號, 被定義為包含代碼字的行向量,‘ ’被定義為包含7個信息位的行向量,以及‘G’被定義為系統(tǒng)性編碼矩陣。
[15,7,5]的線性系統(tǒng)性塊代碼的解碼過程在兩個步驟中被執(zhí)行。在步驟I中, 8-位故障碼采用塊代碼[15,7,5]的奇偶校驗檢查矩陣‘H’ 280而進行計算,如圖11中所示。這個故障計算在GF (2)上采用矩陣乘法操作而被按以下公式執(zhí)行
s = H · cT, [c] = 1X15, [s] =8X1, [H] = 8X 15(1. 2)
其中為包含代碼字的行向量,‘S,為包含8位故障碼的列向量,以及‘H’是奇偶校驗檢查矩陣,以及符號OT表示轉置,所以£T就是一個列向量。
在步驟2中,8位故障碼被用于存取表290 (參看圖12)。表290提供了兩個4位數(shù)字,這樣4位數(shù)字中的每一個就定義了在15位代碼字中單個錯誤的位置。
注意,在表290中數(shù)值’ O’是指‘無錯誤’的情形。如果表290包含在特定條目中的兩個數(shù)字,其中一個數(shù)值是零而另一個數(shù)值是非零,那么這表示僅有一個錯誤而不是兩個。進一步地,在故障碼自身中零表示根本沒有錯誤。通過假定故障碼向量的最上面的位是最低有效位(LSB),而最底下的位是最高有效位(MSB),以獲得故障碼數(shù)值。注意,在這個表中僅給出了 121個數(shù)值(故障碼的256個可能數(shù)值中的)。由于解碼器還包括錯誤檢測能力,那么對于未在表290中給出的情形,有超過兩個的錯誤(參看圖12)。然而,解碼器不能指向它們的位置。
由于在其中這個代碼被生成的特定方式中,用于單個位校正的子矩陣‘Ηω’可被提供。單個位的校正被應用于同樣的代碼字的最前11位。子矩陣‘He)’包括‘Η’矩陣的最前4行和最前11列。15位字的最前11位的解碼過程在兩個相似的步驟中按以下方式而被應用
在如上所述的第一步驟中,故障碼計算通過在GF (2)上采用矩陣乘法操作按如下公式被執(zhí)行
s = H⑴· £T, [£] = I X 11,[互]=4 X I, [H] = 4 X 11(1. 3)
其中為包含讀取字的行向量,‘S,為包含4位故障碼的列向量,以及Η(1)是 ‘Η’的子矩陣,它包含‘Η’的所述的最前4行和所述的最前11列。塊代碼[11,7,3]的矩陣 Η(1)300被示于圖13中。
在解碼過程的第二步驟中,錯誤位置是從4位故障碼310中提取的。這個具有一個’ O’值的故障碼位定義了 ‘沒有錯誤’的情形。
基于15位代碼字的最前11位的成功解碼,(1.1)中的矩陣‘G’可用于再生15位代碼字的最后4位,即使這最后·4位不被提供給解碼器。既然最前11位已經(jīng)被解碼了,解碼器的大小被減少以便直接地從11解碼位中的最前7位中再生最后4位。這意味著最后 4位的再生僅需要矩陣‘G’的最·后4列。
采用上述的所生成的代碼字,單個的[29,14]的BCH代碼可用被表示為C1, C2的、 兩個不相交字的集合進行替換。C1和C2是兩個系統(tǒng)性代碼字,每個長為15。不相交字C1 包含7個信息位和8個奇偶校驗位,而不相交字C1包含剩余的7個信息位和它們所關聯(lián)的 8個奇偶校驗位。因此,首標的、相同的14信息位整個地被獲得了。編碼過程根據(jù)在(1.1) 中所示的上述公式而被完成。
兩個不相交字C1;C2中的每個的最后4個奇偶校驗位被定義為子集P1, Ρ2。上述被稱為整個數(shù)據(jù)的函數(shù)僅僅是這些子集(即P = P1 ΦΡ2)的異或運算(參見圖8)。在編碼每個 7信息位之后,這兩個子集P1和P2從C1和C2可被提取。剩余的位然后被寫入閃存設備(即僅僅是C1的最前11位和C2的最前11位)。用‘Ρ’所表示的整個數(shù)據(jù)的統(tǒng)一函數(shù)被定義位統(tǒng)一數(shù)據(jù),因為它統(tǒng)一了數(shù)據(jù)的不相交子組。這個統(tǒng)一集合P也被寫入閃存設備。
這個例子因此將26 (11 + 11 + 4)位一起合并。進一步強調(diào)的是寫入閃存設備的位并不包括位?”^,因為在代碼字被傳送到物理存儲介質(zhì)之前這些位已從該代碼字中被提取。在解碼過程中再生的被提取的位在下文中被定義為“隱位”。如上文中解釋的,在最前11位被成功解碼的情形下,剩余的4位可以通過編碼過程而被再生。正如在下面“從閃存設備中讀取首標(解碼)”的部分所詳述的那樣,解碼過程利用了這一特性。
本領域所屬技術人員能夠理解,公平的比較情形是輕而易舉的,并且這樣的解碼和編碼過程的實現(xiàn)是可行的。這個創(chuàng)新的錯誤校正編碼方案的結果就是指按如下的寫入 (編碼)和讀出(解碼)操作
1.將首標寫入閃存設備(編碼)
使用首標的7個信息位的第一集合對被定義為C1的第一 [15,7]中塊代碼進行編碼,并使用以上所詳述的、關于公式(1.1)的過程。用P1表示15位的代碼字C1的位12-15。
使用首標的7個信息位的第二集合對被定義為C2的第二 [15,7]中塊代碼進行編碼,并使用以上所詳述的、關于公式(1.1)的過程。用P2表示15位的代碼字C2的位12-15。
將集合P1和匕進行位與位地異或運算,以獲得被定義為奇偶校驗位-2或者位“P” 的4個位。
將C1的位1-11和C2的位1-11寫入閃存設備。將C1的位1-11記為
權利要求
1.一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括以下步驟 Ca)根據(jù)第一編碼方案編碼數(shù)據(jù)位以生成第一奇偶校驗位組; (b)根據(jù)第二編碼方案編碼數(shù)據(jù)位以生成第二奇偶校驗位組; (c)將所述第二奇偶校驗位組轉換為一個奇偶校驗位的聚縮組,其中,所述轉換是多對一的;以及 (d)通過將所述第一奇偶校驗位組與所述聚縮組奇偶校驗位相組合以生成一個用于數(shù)據(jù)位的奇偶校驗位最終組。
2.根據(jù)權利要求1的方法,其中所述第一奇偶校驗位組與所述奇偶校驗位的聚縮組的所述組合,由包括組裝所述第一奇偶校驗位組的至少一部分和所述奇偶校驗位的聚縮組的步驟來實現(xiàn)。
3.根據(jù)權利要求1的方法,其中所述轉換步驟包括對所述第二奇偶校驗位組的多個子組進行異或運算。
4.一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括以下步驟 Ca)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述多個子組中至少出現(xiàn)一次; (b)根據(jù)相應的第一編碼方案對所述多個子組的每個子組進行編碼,以對于每個所述子組生成相應的、至少一個的第一奇偶校驗位; (c)根據(jù)相應的第二編碼方案對所述多個子組的每個子組進行編碼,以對于每個所述子組生成相應的、至少一個的第二奇偶校驗位; (d)將所有所述多個子組中的所有的所述至少一個第二奇偶校驗位轉換成聯(lián)合的聚縮奇偶校驗位,其中所述轉換是多對一的;以及 (e)通過將所有所述多個子組中的所有的所述至少一個第一奇偶校驗位與所述的聯(lián)合聚縮奇偶校驗位相組合,以生成一個用于數(shù)據(jù)位的奇偶校驗位最終組。
5.根據(jù)權利要求4的方法,其中所述多個子組中的所有的所述至少一個第一奇偶校驗位與所述的聯(lián)合聚縮奇偶校驗位的所述組合,由包括的組裝所述多個子組中的所有的所述至少一個第一奇偶校驗位和所述的聯(lián)合聚縮奇偶校驗位的步驟來實現(xiàn)。
6.根據(jù)權利要求4的方法,其中每個數(shù)據(jù)位只在所述多個子組中出現(xiàn)一次。
7.根據(jù)權利要求4的方法,其中至少有一個數(shù)據(jù)位在所述的多個子組中至少出現(xiàn)兩次。
8.根據(jù)權利要求4的方法,其中所述的多個子組有相同的大小。
9.根據(jù)權利要求4的方法,其中所述的多個子組的至少一個子組,所述相應第一編碼方案和所述相應第二編碼方案通過使用通常的編碼方法就可被獲得,這樣所述相應第一編碼方案根據(jù)第一順序?qū)λ鲋辽僖粋€子組的位進行編碼,以及所述相應第二編碼方案根據(jù)第二順序進行編碼。
10.根據(jù)權利要求4的方法,其中所有所述的多個子組根據(jù)通常的、所述第一編碼方案而被編碼。
11.根據(jù)權利要求4的方法,其中所有所述的多個子組根據(jù)通常的、所述第二編碼方案而被編碼。
12.根據(jù)權利要求4的方法,其中所述轉換步驟包括將相應于所述子組中的一個的所述至少一個第二奇偶校驗位與相應于所述子組中的另一個的所述至少一個第二奇偶校驗位進行異或運算。
13.一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括以下步驟 Ca)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述多個子組中至少出現(xiàn)一次; (b)使用相應的編碼方案對所述多個子組的每個子組進行編碼,以對于每個所述子組生成相應的、至少一個奇偶校驗位; (C)對于每個所述子組,從所述每個子組的所述位和每個所述子組的所述相應的至少一個奇偶校驗位中選出一個相應的所選子集; (d)將所有所述多個子組中的所述所選子集轉換成聯(lián)合聚縮所選位,其中所述轉換是多對一的; (e)通過將每個所述子組的所述位與每個所述子組的所述相應的至少一個奇偶校驗位相組合,以對于每個所述子組生成一個相應的被縮短的代碼字,然后將每個所述子組中的所述相應所選子集的位去除;以及 (f)通過將所有所述多個子組的所述相應的被縮短的代碼字與所述聯(lián)合聚縮所選位相組合,以生成用于數(shù)據(jù)位的代碼字。
14.根據(jù)權利要求13的方法,其中每個所述子組的所述位和每個所述子組的所述相應的至少一個奇偶校驗位的所述組合,通過包括組裝每個所述子組的所述位和每個所述子組的所述相應的至少一個奇偶校驗位的步驟而實現(xiàn)。
15.根據(jù)權利要求13的方法,其中所述多個子組的所述相應的被縮短的代碼字與所述聯(lián)合聚縮所選位的所述組合,通過包括組裝所述多個子組的所有所述相應的被縮短的代碼字與所述聯(lián)合聚縮所選位的的步驟而實現(xiàn)。
16.根據(jù)權利要求13的方法,其中每個數(shù)據(jù)位在所述多個子組中只出現(xiàn)一次。
17.根據(jù)權利要求13的方法,其中至少一個數(shù)據(jù)位在所述多個子組中至少出現(xiàn)兩次。
18.根據(jù)權利要求13的方法,其中所述的多個子組有相同的大小。
19.根據(jù)權利要求13的方法,其中所述的多個子組根據(jù)通常的所述編碼方案而被編碼。
20.根據(jù)權利要求13的方法,其中所述的轉換步驟包括將相應于所述子組中的一個的所述所選子集的位與相應于所述子組中的另一個的所述所選子集的位進行異或運算。
21.一種提供用于數(shù)據(jù)位錯誤校正的方案的方法,所述方法包括以下步驟 Ca)從數(shù)據(jù)位中生成多個位的子組,這樣每個數(shù)據(jù)位在所述子組中至少出現(xiàn)一次; (b)使用相應的編碼方案對所述多個子組的每個子組進行編碼,以對于每個所述子組生成相應的代碼字; (c)對于每個所述子組,從所述相應代碼字的位中選擇一個相應的所選子集; (d)將所有所述相應代碼字中所述相應所選子集轉換成聯(lián)合聚縮所選位,其中所述轉換是多對一的; Ce)通過去除相應于每個所述相應代碼字的所述所選子集的位,以生成用于每個所述相應代碼字的相應被縮短代碼字;以及 (f)通過將所有所述多個子組中的所述相應的被縮短代碼字與所述聯(lián)合聚縮所選位相組合以生成用于數(shù)據(jù)位的代碼字。
22.根據(jù)權利要求21的方法,其中所述多個子組的所述相應的被縮短的代碼字與所述聯(lián)合聚縮所選位的所述組合,通過包括組裝所述多個子組的所有所述相應的被縮短的代碼字與所述聯(lián)合聚縮所選位的步驟而實現(xiàn)。
23.根據(jù)權利要求21的方法,其中每個數(shù)據(jù)位在所述多個子組中只出現(xiàn)一次。
24.根據(jù)權利要求21的方法,其中至少一個數(shù)據(jù)位在所述多個子組中至少出現(xiàn)兩次。
25.根據(jù)權利要求21的方法,其中所述的多個子組有相同的大小。
26.根據(jù)權利要求21的方法,其中所述的多個子組根據(jù)通常的所述編碼方案而被編碼。
27.根據(jù)權利要求21的方法,其中所述的轉換步驟包括將相應于所述子組中的一個的所述所選子集的位與相應于所述子組中的另一個的所述所選子集的位進行異或運算。
全文摘要
要被編碼的數(shù)據(jù)位被分解為多個子組。每個子組分別地被編碼以生成相應的子代碼。所選子集從相應的代碼字中被去除以,留下了被縮短的代碼字,以及多對一地被轉換為聚縮位。最終的代碼字是被縮短的代碼字和聚縮位的組合。最終代碼字的表示通過被劃分成所選子集和多個剩余子集而被解碼。每個剩余子集分別地被解碼。如果解碼中的一個失敗了,那么其解碼失敗的剩余子集至少部分地根據(jù)所選子集進行解碼。如果解碼和編碼是系統(tǒng)性的,那么所選子集就是奇偶校驗位。
文檔編號H03M13/11GK103023514SQ20121039059
公開日2013年4月3日 申請日期2006年11月13日 優(yōu)先權日2005年11月15日
發(fā)明者S·里斯特楊, E·沙龍, I·奧羅德, M·拉瑟 申請人:特拉維夫大學拉莫特有限公司