新四季網

Flash控制器中BCH編解碼的數據長度擴展方法

2023-06-30 07:48:11 2

專利名稱:Flash控制器中BCH編解碼的數據長度擴展方法
技術領域:
本發明涉及Flash控制器中的編解碼糾錯方法,特別涉及在NandFlash型存儲設備控制晶片中使用的一種BCH編解碼的數據長度擴展方法。
背景技術:
在NandFlash型結構大容量存儲設備的控制晶片中,由於NandFlash型結構的特點以及噪聲幹擾等因素,傳輸的數據會出錯是不可避免的。為了保證數據讀出時能進行誤碼檢測和校正,通常都是在數據寫入存儲單元時,需要寫入一部分冗餘數據,在數據讀出時用於糾錯。BCH碼是由博斯_查德赫利_霍昆格姆(Bose-Chaudhuri-Hocquenghem,即 BCH)編碼發生器定義的差錯控制碼技術,它是一種可糾正多個隨機錯誤的編解碼方法,這與NandFlash存儲設備的常規出錯類型相符。採用超長BCH碼作為NandFlash控制器糾錯碼ECC單元的優點是 (1)在保護相同長度的數據時,對於給定的隨機錯誤數,二進位BCH碼需佔用的冗餘數據空間通常要低於裡德_索羅蒙RS(Reed-Solomn)碼; (2)在解碼時,二進位BCH碼僅需搜索錯誤位置,待獲得錯誤位置後,只需將錯誤位取反即完成糾錯,而不必再計算錯誤值多項式,使得計算複雜度得到了大幅度的減小。
由BCH編碼原理可知,對於任意正整數m,設二進位BCH碼的標準碼長為N = (2m-l)比特,信息元為K比特,則該碼的相關參數為校驗元長為(N-K)比特;糾錯能力 t彡(N-K)/m(其中m彡3);最小碼距dmin彡2t+l。
BCH碼是一種能糾正多個隨機錯誤的循環碼,它的生成多項式與最小碼距之間有密切的關係,可以用生成多項式g(x)的根來描述。它具有嚴格的代數結構,糾錯能力強,構造簡單,人們可以根據所要求的糾錯能力t很容易構造出BCH碼,其編碼和解碼器也較其他碼容易實現,是線性分組碼中應用最普遍的一類碼。
目前在Flash控制器中,對NandFlash存儲設備的數據進行BCH編解碼都是以512 字節或1024位元組數據塊為基本處理單元(如圖1所示),其中,512位元組適用於Flash扇區容量為528位元組和540位元組規格的NandFlash,1024位元組適用於Flash扇區容量為1070位元組和1080位元組規格的NandFlash。因此在BCH編碼時只對固定長度的512位元組或1024位元組數據配備用於糾錯的數據冗餘位,在BCH解碼時,也僅僅只對固定長度的512位元組或1024 字節數據進行查錯和糾錯。若數據的長度大於512位元組或1024位元組只能先處理前512位元組或1024位元組的數據,然後對大於512位元組或1024位元組的剩餘數據填充至512位元組或1024 字節後再處理,或者放棄處理剩餘數據,這嚴重影響了糾錯模塊的應用範圍。比如以1024 字節為基本處理單元的flash控制器為例,若想對1024位元組的數據進行奇偶校驗或者增加幾個字節的控制管理位後再進行編解碼,現有的技術只能對前1024位元組的數據進行糾錯保護,而增加的奇偶校驗位或其他的控制管理位若在傳輸過程中有錯誤卻無法糾正。這樣可能會給用戶帶來不利後果。若想對增加的奇偶校驗位或其他控制管理位也同時進行查錯糾錯保護的話,只能進行適當的填充滿足另一個1024位元組的處理單元再進行編解碼,這嚴重影響處理效率和用戶的體驗感受。

發明內容
本發明要解決的技術問題在於克服了目前flash控制器中糾錯模塊只能對固定長度處理單元進行查錯糾錯保護的不足,通過在原有處理單元長度的基礎上增加一個長度可配置的附加數據長度,從而使得原有處理單元的數據長度和附加數據長度同時獲得BCH 編解碼模塊的查錯和糾錯保護。從而極大的方便用戶對flash中處理單元的數據進行各種操作和應用。
為達到上述目的,本發明採用的技術方案是一種Flash控制器中BCH編解碼的數據長度擴展方法,將Flash控制器對數據進行BCH編解碼的基本處理單元設計成由一個 128、256、512或1024位元組的固定數據長度和一個可配置的附加數據長度組成的模式,在 Flash控制器對數據進行BCH編解碼時,利用一個控制寄存器來配置附加數據長度的字節數,控制寄存器的值與所配置附加數據長度的字節數之間存在一一對應關係,配置控制寄存器的值可配置附加數據長度所對應的具體字節數,所述固定數據長度、附加數據長度以及數據冗餘位的字節之和小於或等於Flash扇區的容量,從而使Flash控制器進行BCH編解碼的數據長度得以擴展。
上述技術方案的有關內容解釋如下 1、上述方案中,所述「數據冗餘位」是指對固定數據長度和附加數據長度一起進行 BCH編碼時產生的用於糾錯的數據冗餘位。該數據冗餘位的字節數與糾錯能力t (最大糾錯個數)的選擇有關,本發明數據冗餘位的字節數計算公式如下 數據冗餘位的字節數=(14Xt)/8 (1) 式中t為糾錯能力值,t的取值範圍為8 32比特中的一個整數,當公式(1)的計算結果為整數時取該整數作為數據冗餘位的長度,當公式(1)的結果有小數時取整數後加1作為數據冗餘位的長度。
2、上述方案中,所述「Flash扇區的容量」目前有528位元組、540位元組、1070位元組、 1080位元組等規格,其中,Flash扇區容量為528位元組和540位元組規格的NandFlash適用於固定數據長度為512位元組的數據塊,而Flash扇區容量為1070位元組和1080位元組規格的 NandFlash適用於固定固定數據長度為1024位元組的數據塊。
由於上述技術方案運用,本發明與現有技術相比具有下列優點和效果 1、糾錯數據長度擴大。在Flash控制器對數據進行BCH編解碼時,通過固定數據長度選擇信號接收固定長度的數據,同時通過一個控制寄存器的值來配置附加數據長度, 並將固定數據長度和附加數據長度的數據一起進行BCH編解碼,從而使得糾錯數據長度從原來的一個固定數據長度增加了一個可配置的附加數據長度,擴展了 Flash控制器對數據進行BCH編解碼的長度。
2、配置靈活而且使用方便。附加數據長度不僅可以配置靈活,而且可以利用該附加數據長度來對固定數據長度的數據進行各種操作和應用,例如,對固定數據長度的數據進行奇偶校驗,對固定數據長度的數據進行軟體計算、對固定數據長度的數據進行標識以及對固定數據長度的數據進行保密處理等。附加數據長度的信息可以和固定數據長度的數據一起送入BCH編解碼模塊,同時受到BCH編解碼模塊的查錯和糾錯保護。從而能方便用戶對flash固定數據長度中的數據進行各種功能補充,極大的擴展了 BCH編解碼模塊的受用範圍。
3、使用範圍更廣。通過增加一個可配置的附加數據長度,從而可對flash固定數據長度中的數據進行各種功能補充,而增加的附加數據長度信息也受到BCH編解碼模塊的查錯和糾錯保護,從而大大的增強了 BCH編解碼模塊的使用範圍,能適應不同的應用環境。


附圖1為以往Flash控制器對數據進行BCH編解碼的模式原理圖; 附圖2為本發明Flash控制器對數據進行BCH編解碼的模式原理圖; 附圖3為本發明的BCH解碼電路整體結構框架圖。
具體實施例方式下面結合附圖及實施例對本發明作進一步描述 實施例1 一種Flash控制器中BCH編解碼的數據長度擴展方法 如圖2所示,將Flash控制器對數據進行BCH編解碼的基本處理單元設計成由一個512或1024位元組的固定數據長度和一個0 7位元組可配置的附加數據長度組成的模式, 在Flash控制器對數據進行BCH編解碼時,利用一個位寬為3比特的控制寄存器來配置附加數據長度的字節數,控制寄存器的值與所配置附加數據長度的0 7位元組數之間一一對應關係如下 控制寄存器的值附加數據長度的字節數 0000 字節; 0011 字節; 0102 字節; 0113 字節; 1004 字節; 1015 字節; 1106 字節; 1117 字節; 通過配置控制寄存器的值可配置附加數據長度在0 7位元組範圍中的任意一個字節數,當附加數據長度為0位元組時表示沒有增加數據長度(與背景技術中的現有技術效果相同),當附加數據長度為1 7位元組時表示在固定數據長度基礎上增加了數據長度,從而使Flash控制器進行BCH編解碼的數據長度得以擴展。
上述512位元組的固定數據長度適用於Flash扇區容量為528位元組和540位元組規格的NandFlash。上述1024位元組的固定數據長度適用於Flash扇區容量為1070位元組和1080 字節規格的NandFlash。但不論使用何種規格的NandFlash,都要注意滿足以下條件 固定數據長度、附加數據長度以及數據冗餘位的字節之和小於或等於Flash扇區的容量 其中數據冗餘位是指對固定數據長度和附加數據長度一起進行BCH編碼時產生的用於糾錯的數據冗餘位。該數據冗餘位的字節數與糾錯能力t (最大糾錯個數)的選擇有關,本發明數據冗餘位的字節數計算公式如下 數據冗餘位的字節數=(14Xt)/8 (1) 式中t為糾錯能力值,t的取值範圍為8 32比特中的一個整數,當公式(1)的計算結果為整數時取該整數作為數據冗餘位的長度,當公式(1)的結果有小數時取整數後加1作為數據冗餘位的長度。
比如,以Flash扇區容量為1070位元組規格的NandFlash為例,其固定數據長度為1024位元組,選擇糾錯能力t的值為8,根據公式(1)計算得數據冗餘位為14位元組。若附加數據長度為7位元組,可以計算出 固定數據長度、附加數據長度以及數據冗餘位的字節之和=1024位元組+7位元組+14位元組=1045位元組< Flash扇區容量1070位元組,因此是允許的。
如果將糾錯能力t的值改為30,則數據冗餘位為53位元組,可以計算出固定數據長度、附加數據長度以及數據冗餘位的字節之和=1024位元組+7位元組+53位元組=1084位元組 > Flash扇區容量1070位元組,因此是不允許的。
再比如,以Flash扇區容量為528位元組規格的NandFlash為例,其固定數據長度為 512位元組,選擇糾錯能力t的值為8,根據公式(1)計算得數據冗餘位為14位元組。若附加數據長度為7位元組,可以計算出 固定數據長度、附加數據長度以及數據冗餘位的字節之和=512位元組+7位元組+14 字節=533位元組> Flash扇區容量528位元組,因此是不允許的。
下面結構附圖3對本發明作進一步說明 圖3為本發明的BCH解碼電路整體結構框架圖。從圖中可以看出BCH解碼電路有三個子電路,分別是伴隨式校正子運算電路、錯誤位置多項式迭代電路和錯誤地址搜索電路。其中,伴隨式校正子運算電路是通過信息元的輸入完成伴隨式校正子的計算電路;錯誤位置多項式迭代電路是通過伴隨式校正子計算出錯誤位置多項式的電路;錯誤地址搜索電路是Chien搜索電路,錯誤地址搜索電路通過伴隨式校正子運算電路所接收的固定數據長度選擇信號和附加數據長度選擇信號來更新Chien搜索電路的搜索地址的起始位置和長度,從而完成錯誤地址的搜索。
圖3中的各信號的功能描述如下 1、輸入信號 elk:系統時鐘輸入。
rst_ 復位信號,低電平有效。
Dinvalid 有效數據輸入指示信號,高電平有效。
encoding 編解碼模式(1為編碼,0為解碼)。
selcapacity[l:0]糾錯能力類型選擇信號。該值為3表示糾錯能力是30比特, 為2是24比特,為1是14比特,為0是8比特。
sellength[l:0]數據保護長度選擇信號,該值為3表示輸入的數據長度為128位元組,為2表示256位元組,為1表示512位元組,為0表示1024位元組。
selcntrlen[2:0]附加數據長度選擇信號,即控制寄存器的值。
din [7:0]數據輸入埠,共8位。
searchlnit 錯誤位置多項式迭代電路初始化信號。
Cerror_num[5:0]糾錯能力。
2、輸出信號 Error_num[5:0]實際出現的錯誤個數。
Codedone 伴隨式計算結束指示信號,高電平有效。
BMdone 錯誤位置多項式迭代電路結束指示信號,高電平有效。
CSdone =Chien搜索結束指示信號,高電平有效。
CSdout [7:0]錯誤圖樣輸出,與輸入值din異或完成糾錯。
CSadrs [10:0]錯誤位置。
CSwe 糾錯指示信號,高電平有效。
SearchF 超出糾錯能力指示信號,高電平有效。
Correct data [7:0]正確的輸出碼字。
3、內部信號 BM_start 錯誤位置多項式迭代電路運算開始信號,高電平有效。
Chien_start =Chien搜索開始信號,高電平有效。
S1, S2, ... , S2t 伴隨式校正子,位寬都為14位。
Loc1, Loc2, ... , Loct 錯誤位置多項式各係數,位寬都為14位。
為了提高解碼速度,圖3中的三個子電路可採用並行或者流水線的方式可同時對數據塊進行解碼,大大的提高了解碼速度,因此在不增加面積的同時並不會因為分段後影響原數據塊的解碼速度。
若Flash的固定數據長度為1024位元組,而用戶又無需對該固定數據長度的數據進行功能補充的話,直接把selCntrlen[2:0]配置成0,直接將該固定數據長度的數據送入 BCH編解碼模塊進行操作即可。若用戶需要對固定數據長度的數據進行功能補充,如奇偶校驗或者其他用戶需要的相關操作,假如附加數據長度為1,2,3,...,或7位元組時,直接將 selcntrlen [2 0]配置成1,2,3,...,或7,再把固定數據長度1024位元組的數據和附加數據長度的數據一起送入BCH編解碼模塊,此時固定數據長度中的數據和附加數據長度的數據若在傳輸過程中有錯誤,而且錯誤的數量在糾錯能力範圍之內都能被發現並被糾正。
若Flash的固定數據長度為512位元組,而用戶又無需對該固定數據長度的數據進行功能補充的話,直接把selcntrlen[2:0]配置成0,直接將該固定數據長度的數據送入 BCH編解碼模塊進行操作即可。若用戶需要對固定數據長度的數據進行功能補充,如奇偶校驗或者其他用戶需要的相關操作,假如附加數據長度為1,2,3,...,或7位元組時,直接將 selcntrlen[2:0]配置成1,2,3,...,或7,再把固定數據長度512位元組的數據和附加數據長度的數據一起送入BCH編解碼模塊,此時固定數據長度中的數據和附加數據長度的數據若在傳輸過程中有錯誤,而且錯誤的數量在糾錯能力範圍之內都能被發現並被糾正。
若Flash數據塊的數據被分段成128、256、512或1024位元組後仍可適應上述情況。
實施例2 —種Flash控制器中BCH編解碼的數據長度擴展方法 本實施例與實施例1不同之處在於控制寄存器的位寬為4比特,控制寄存器的值與所配置附加數據長度的字節數之間的對應關係如下 控制寄存器的值附加數據長度的字節數 00000 字節; 00011 字節; 00102 字節; 00113 字節; 01004 字節; 01015 字節; 01106 字節; 01117 字節; 10008 字節; 10019 字節; 101010 字節; 101111 字節; 110012 字節; 110113 字節; 111014 字節; 111115 字節; 通過配置控制寄存器的值可配置附加數據長度在0 15位元組範圍中的任意一個字節數。
其他內容與實施例1相同,這裡不再重複描述。
依據實施例1和實施例2原理,本領域技術人員可以知道控制寄存器的位寬除了3比特和4比特而外,還可以是2比特或5比特等不同寬度,只要能夠滿足固定數據長度、 附加數據長度以及數據冗餘位的字節之和小於或等於Flash扇區的容量這一條件,本發明均可實施。
上述實施例只為說明本發明的技術構思及特點,其目的在於讓熟悉此項技術的人士能夠了解本發明的內容並據以實施,並不能以此限制本發明的保護範圍。凡根據本發明精神實質所作的等效變化或修飾,都應涵蓋在本發明的保護範圍之內。
權利要求
1.一種Flash控制器中BCH編解碼的數據長度擴展方法,其特徵在於將Flash控制 器對數據進行BCH編解碼的基本處理單元設計成由一個128、256、512或1024位元組的固定 數據長度和一個可配置的附加數據長度組成的模式,在Flash控制器對數據進行BCH編譯 碼時,利用一個控制寄存器來配置附加數據長度的字節數,控制寄存器的值與所配置附加 數據長度的字節數之間存在一一對應關係,配置控制寄存器的值可配置附加數據長度所對 應的具體字節數,所述固定數據長度、附加數據長度以及數據冗餘位的字節之和小於或等 於Flash扇區的容量,從而使Flash控制器進行BCH編解碼的數據長度得以擴展。
2.根據權利要求1所述的數據長度擴展方法,其特徵在於所述控制寄存器的位寬為3 比特,控制寄存器的值與所配置附加數據長度的字節數之間的對應關係如下控制寄存器的值附加數據長度的字節數0000位元組;0011位元組;0102位元組;0113位元組;1004位元組;1015位元組;1106位元組;1117位元組;通過配置控制寄存器的值可配置附加數據長度在0 7位元組範圍中的任意一個字節數。
3.根據權利要求1所述的數據長度擴展方法,其特徵在於所述控制寄存器的位寬為4 比特,控制寄存器的值與所配置附加數據長度的字節數之間的對應關係如下控制寄存器的值附加數據長度的字節數00000位元組;00011位元組;00102位元組;00113位元組;01004位元組;01015位元組;01106位元組;01117位元組;10008位元組;10019位元組;101010 字節;101111 字節;110012 字節;110113 字節;111014 字節;111115 字節;通過配置控制寄存器的值可配置附加數據長度在O 15位元組範圍中的任意一個字節數。
全文摘要
一種Flash控制器中BCH編解碼的數據長度擴展方法,其特徵在於將Flash控制器對數據進行BCH編解碼的基本處理單元設計成由一個128、256、512或1024位元組的固定數據長度和一個可配置的附加數據長度組成的模式,在Flash控制器對數據進行BCH編解碼時,利用一個控制寄存器來配置附加數據長度的字節數,控制寄存器的值與所配置附加數據長度的字節數之間存在一一對應關係,配置控制寄存器的值可配置附加數據長度所對應的具體字節數,所述固定數據長度、附加數據長度以及數據冗餘位的字節之和小於或等於Flash扇區的容量,從而使Flash控制器進行BCH編解碼的數據長度得以擴展。
文檔編號H03M13/15GK101848001SQ20101013778
公開日2010年9月29日 申請日期2010年3月22日 優先權日2010年3月22日
發明者鍾名富, 林雄鑫, 王廷平, 肖佐楠, 鄭茳 申請人:蘇州國芯科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀