TWI876685B - 漢明碼編碼排列方法及儲存裝置檢測方法 - Google Patents
漢明碼編碼排列方法及儲存裝置檢測方法 Download PDFInfo
- Publication number
- TWI876685B TWI876685B TW112144709A TW112144709A TWI876685B TW I876685 B TWI876685 B TW I876685B TW 112144709 A TW112144709 A TW 112144709A TW 112144709 A TW112144709 A TW 112144709A TW I876685 B TWI876685 B TW I876685B
- Authority
- TW
- Taiwan
- Prior art keywords
- coded data
- bits
- data
- hamming code
- groups
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2778—Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
一種漢明碼編碼排列方法包括步驟:(A)將一原始資料分為N組待編碼資料並分別進行漢明碼編碼以產生N組已編碼資料;(B)分別對N組已編碼資料,取出每一組已編碼資料中的p位元的已編碼資料並接續排列;(C)當N組已編碼資料的每一組中仍有剩餘大於或等於p位元,取出每一組中的p位元,並接續排列;以及(D)當N組已編碼資料的每一組中已無剩餘資料時,依前述排列產生重排列的已編碼資料;或當每一組中僅有剩餘q(<p)位元時,取出每一組已編碼資料中的q位元,並接續排列以產生重排列的已編碼資料。
Description
本發明係關於資料傳輸或存取時錯誤更正的技術領域,尤指一種漢明碼編碼排列方法及儲存裝置檢測方法。
在錯誤更正碼的領域中,傳統的漢明碼(Hamming code)係在原始數據中,透過簡單的互斥或(XOR)運算編碼及解碼,藉由插入冗餘位元,可達到更正1位元錯誤的效果,例如,(7,4)漢明碼是在4位元的數據中插入3位元的冗餘位元,而可達到更正1位元錯誤的效果。然而,傳統的漢明碼只能更正1位元的錯誤但無法更正多位元的錯誤,如要更正多位元的錯誤,則需要用使用其他編碼演算法,例如:重複碼、卷積碼、BCH碼、RS碼等,然而,這些編碼演算法較複雜或實現成本較高,而不適用於低成本或低功耗的電路設計。
因此,在習知錯誤更正碼的應用上,實仍存在有諸多缺失而有予以改善之必要。
本發明之目的主要係在提供一種漢明碼編碼排列方法及
儲存裝置檢測方法,其可針對可預期的錯誤模式,動態調整多組漢明碼的編排方式,以最佳位元率(bit rate)實現多位元錯誤修正或偵測,並可用於改善儲存裝置的良率,且具有低成本且架構簡單之特性。
依據本發明之一特色,本發明提出一種漢明碼編碼排列方法,其包括步驟:(A)將一原始資料分為N組待編碼資料並分別對該N組待編碼資料進行(c,a)漢明碼編碼,以生成對應的N組編碼並據以產生對應的N組已編碼資料,其中,N=Round(X/a),X為該原始資料的位元數,a為一組待編碼資料的位元數,Round()代表取整數函數,一組已編碼資料的位元數為c且c=a+b,b為一組編碼的位元數且為符合2b>=a+b+1的最小值,當中,X、N、a、b、c皆為大於0的整數;(B)分別對該N組已編碼資料,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料,當中,p為大於0的整數且p小於或等於c;(C)當該N組已編碼資料的每一組中仍有剩餘大於或等於p位元的未取出已編碼資料時,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料;以及(D)當N組已編碼資料的每一組中已無剩餘的未取出已編碼資料時,依前述排列產生重排列的已編碼資料;或當N組已編碼資料的每一組中僅有剩餘q位元的未取出已編碼資料時,取出每一組已編碼資料中的q位元的已編碼資料,並接續排列取出的N組q位元的已編碼資料,據此產生重排列的已編碼資料,當中,q為大於0且小於p的整數。
依據本發明之另一特色,本發明提出一種儲存裝置檢測方法,其使用如前述之漢明碼編碼排列方法來檢測一儲存裝置,包括:於大於0且小於或等於c的整數中選定p的多種不同值,且根據該p的多
種不同值,定義多種類型的漢明碼編碼排列方法,其中,該多種類型的漢明碼編碼排列方法分別對應該p的多種不同值;以及依序使用該多種類型的漢明碼編碼排列方法來對該儲存裝置進行自我測試,其中,當有一類型的漢明碼編碼排列方法所進行的自我測試為成功時,將該類型的漢明碼編碼排列方法記錄於該儲存裝置並結束該儲存裝置之檢測,若是所有類型的漢明碼編碼排列方法所進行的自我測試皆失敗,則判定該儲存裝置為不良品。
以上概述與接下來的詳細說明皆為示範性質,是為了進一步說明本發明的申請專利範圍,而有關本發明的其他目的與優點,將在後續的說明與圖式加以闡述。
11:原始資料
13:重排列的已編碼資料
19:傳輸通道
17:儲存裝置
21:編碼程序
23:排列程序
S201~S208:步驟
S91~S97:步驟
圖1示意地顯示使用本發明之漢明碼編碼排列方法的應用。
圖2顯示本發明之漢明碼編碼排列方法的流程。
圖3示意地顯示漢明碼編碼排列方法的編碼程序。
圖4示意地顯示漢明碼編碼排列方法的排列程序的一範例。
圖5示意地顯示漢明碼編碼排列方法的排列程序的另一範例。
圖6示意地顯示漢明碼編碼排列方法的排列程序的再一範例。
圖7示意地顯示漢明碼編碼排列方法的排列程序的又一範例。
圖8示意地顯示具有同位位元的漢明碼編碼排列方法的排列程序。
圖9顯示以本發明之漢明碼編碼排列方法應用於儲存裝置檢測方法之示意圖。
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明的實施方式,並不用於限定本發明。
圖1示意地顯示使用本發明之漢明碼編碼排列方法的應用,其中,漢明碼編碼排列方法係用以對一原始資料11進行漢明碼編碼並對編碼後的已編碼資料再重新排列,以產生重排列的已編碼資料13,據以將重排列的已編碼資料13經由傳輸通道19傳送出去,或是儲存於一儲存裝置17中。
圖2顯示本發明之漢明碼編碼排列方法的流程,其包括一編碼程序21及一排列程序23,其中,編碼程序21包括步驟S201至步驟S203,排列程序23包括步驟S204至步驟S208,詳述如下。
於編碼程序21中,係先將原始資料11分為N組待編碼資料A(1)~A(N)(步驟S201),其中,N=Round(X/a),X為原始資料11的位元數,a為一組待編碼資料的位元數,Round()代表取整數函數,當中,X、N、a皆為大於0的整數;接著,分別對N組待編碼資料A(1)~A(N)進行(c,a)漢明碼編碼,以生成對應的N組編碼B(1)~B(N)(步驟S202),其中,一組編碼的位元數為b,b為符合2b>=a+b+1的最小值,且b=c-a,當中,b、c皆為大於0的整數;接著,以前述N組待編碼資料A(1)~A(N)分別結合N組編碼B(1)~B(N)來產生對應的N組已編碼資料C(1)~C(N)(步驟S203),其中,一組已編碼資料的位元數為c(=a+b)。
於排列程序23中,首先,於步驟S204中,分別對N組已編碼資料C(1)~C(N),取出每一組已編碼資料C(1)~C(N)中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料,其中,p為大於0的整數且p小於或等於c,需注意的是,於排列程序23中的接續排列除表示取出的資料依取出的先後順序依序排列,也表示此次取出的資料為接著前次取出並已排列的資料而排列。於一實施例中,p位元的已編碼資料係為由低位元至高位元的連續已編碼資料,但此僅是舉例而非限定,可想而知地,p位元的已編碼資料可為由高位元至低位元的連續已編碼資料,或為由低位元至高位元的不連續已編碼資料,或為由高位元至低位元的不連續已編碼資料。
接著,判斷該N組已編碼資料C(1)~C(N)的每一組中所剩餘的未取出已編碼資料的位元數,當該N組已編碼資料C(1)~C(N)的每一組中仍有剩餘大於或等於p位元的未取出已編碼資料時,再繼續取出每一組已編碼資料C(1)~C(N)中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料(步驟S204)。
當判斷該N組已編碼資料C(1)~C(N)的每一組中已無剩餘的未取出已編碼資料時(步驟S205),則依前述排列來產生重排列的已編碼資料13(步驟S208);或當N組已編碼資料C(1)~C(N)的每一組中僅有剩餘q位元的未取出已編碼資料時(步驟S206),當中,q為大於0且小於p的整數,則取出每一組已編碼資料C(1)~C(N)中的q位元的已編碼資料,並接續排列取出的N組q位元的已編碼資料(步驟S207),據此產生重排列的已編碼資料(步驟S208)。
為進一步了解本發明之漢明碼編碼排列方法,以下將以對12位元的原始資料11進行(7,4)漢明碼編碼為例來說明,其中,於編碼程序21中,如圖3的漢明碼編碼排列方法的編碼程序示意圖所示,原始資料11分為3(=Round(12/4))組待編碼資料A(1)~A(3),分別對3組待編碼資料A(1)~A(3)進行(7,4)漢明碼編碼,以生成對應的3組編碼B(1)~B(3),其中,一組編碼的位元數為3(3為符合23>=4+3+1的最小值);以前述3組待編碼資料A(1)~A(3)分別結合3組編碼B(1)~B(3)來產生對應的3組已編碼資料C(1)~C(3),其中,一組已編碼資料的位元數為7(=4+3)。
於排列程序23中,以選擇p=1為第一範例並定義此範例為類型=1之漢明碼編碼排列方法,由於p=1,因此,排列程序23是分別對3組已編碼資料C(1)~C(3),取出每一組已編碼資料C(1)~C(3)中的1位元的已編碼資料,並接續排列取出的3組1位元的已編碼資料,於此範例中,如圖4的漢明碼編碼排列方法的排列程序示意圖所示,依據排列程序23,上述接續排列取出的3組1位元的已編碼資料的步驟將重複執行7次(圖中標示為t1~t7),直至3組已編碼資料C(1)~C(3)的每一組中已無剩餘的未取出已編碼資料,據此排列產生重排列的已編碼資料13,基於(7,4)漢明碼可對每一組7位元的已編碼資料C(1)~C(3)更正1位元的錯誤,因此,對於將重排列的已編碼資料13儲存至儲存裝置17所產生的連續3位元的錯誤(例如圖4中標示為X的位元),雖然在儲存裝置17中為連續3位元的錯誤而可能無法被更正(例如圖4所示重排列後的已編碼資料C’(2)具有2位元的錯誤而無法被更正),但由於此等位元是分別源自
於3組已編碼資料C(1)~C(3),因此,在將重排列的已編碼資料13自儲存裝置17讀出時,由於每一組已編碼資料C(1)~C(3)只有1位元的錯誤,因此仍然可予以更正。
於排列程序23中,亦可選擇p=2為第二範例並定義此範例為類型=2之漢明碼編碼排列方法,由於p=2,因此,排列程序23是分別對3組已編碼資料C(1)~C(3),取出每一組已編碼資料C(1)~C(3)中的2位元的已編碼資料,並接續排列取出的3組2位元的已編碼資料,於此範例中,如圖5的漢明碼編碼排列方法的排列程序示意圖所示,依據排列程序23,上述接續排列取出的3組2位元的已編碼資料的步驟將重複執行3次(圖中標示為t1~t3),直至3組已編碼資料C(1)~C(3)的每一組中僅有剩餘1位元的未取出已編碼資料時,取出每一組已編碼資料C(1)~C(3)中的1位元的已編碼資料,並接續排列取出的3組1位元的已編碼資料,據此產生重排列的已編碼資料13,基於(7,4)漢明碼可對每一組7位元的已編碼資料C(1)~C(3)更正1位元的錯誤,因此,對於將重排列的已編碼資料13儲存至儲存裝置17所產生的間隔1~2位元或連續2位元的錯誤(例如圖5中標示為X的位元),雖然在儲存裝置17中因不良的儲存位元而導致間隔1~2位元或連續2位元的錯誤而可能無法被更正(例如重排列後的已編碼資料C’(1)具有3位元的錯誤而無法被更正),但由於此等位元是分別源自於3組已編碼資料C(1)~C(3),因此,在將重排列的已編碼資料13自儲存裝置17讀出而成為原本的排列時,由於每一組已編碼資料C(1)~C(3)只有1位元的錯誤,因此仍然可予以更正。
於排列程序23中,亦可選擇p=4為第三範例並定義此範例
為類型=3之漢明碼編碼排列方法,由於p=4,因此,排列程序23是分別對3組已編碼資料C(1)~C(3),取出每一組已編碼資料C(1)~C(3)中的4位元的已編碼資料,並接續排列取出的3組4位元的已編碼資料,於此範例中,如圖6的漢明碼編碼排列方法的排列程序示意圖所示,依據排列程序23,上述接續排列取出的3組4位元的已編碼資料的步驟將執行1次(圖中標示為t1),直至3組已編碼資料C(1)~C(3)的每一組中僅有剩餘3位元的未取出已編碼資料時,取出每一組已編碼資料C(1)~C(N)中的3位元的已編碼資料,並接續排列取出的3組3位元的已編碼資料,據此產生重排列的已編碼資料13,基於(7,4)漢明碼可對每一組7位元的已編碼資料C(1)~C(3)更正1位元的錯誤,因此,對於將重排列的已編碼資料13儲存至儲存裝置17所產生的間隔1~7位元的錯誤(例如圖6中標示為X的位元),雖然在儲存裝置17中因不良的儲存位元而導致間隔1~7位元的錯誤可能無法被更正(例如重排列後的已編碼資料C’(1)具有2位元的錯誤而無法被更正),但由於此等位元是分別源自於3組已編碼資料C(1)~C(3),因此,在將重排列的已編碼資料13自儲存裝置17讀出而成為原本的排列時,由於每一組已編碼資料C(1)~C(3)只有1位元的錯誤,因此仍然可予以更正。
於排列程序23中,亦可選擇p=7為第四範例並定義此範例為類型=4之漢明碼編碼排列方法,由於p=7,因此,排列程序23是分別對3組已編碼資料C(1)~C(3),取出每一組已編碼資料C(1)~C(3)中的7位元的已編碼資料,並接續排列取出的3組7位元的已編碼資料,於此範例中,如圖7的漢明碼編碼排列方法的排列程序示意圖所示,依據排列
程序23,上述接續排列取出的3組7位元的已編碼資料的步驟將執行1次(圖中標示為t1),之後3組已編碼資料C(1)~C(3)的每一組中已無剩餘的未取出已編碼資料,據此產生重排列的已編碼資料13,基於(7,4)漢明碼可對每一組7位元的已編碼資料C(1)~C(3)更正1位元的錯誤,因此,此一範例適用於更正一組7位元的已編碼資料中的1個位元的錯誤型態,例如,以將重排列的已編碼資料13儲存於儲存裝置17為例,在儲存裝置17中因不良的儲存位元而導致每一組重排列後的已編碼資料C'(1)~C'(3)具有1位元的錯誤的態樣中,將經過本發明排列程序23所得的重排列的已編碼資料13自儲存裝置17讀出而成為原本的排列時,由於每一組已編碼資料C(1)~C(3)只有1位元的錯誤,因此可予以更正。
再者,於編碼程序21中,對於所產生的N組已編碼資料C(1)~C(N)的每一組已編碼資料C(1)~C(N)中,更可加入一同位位元(parity bit),據此可提供2位元的錯誤偵測能力。例如,於本實施例中,如圖8的具有同位位元的漢明碼編碼排列方法的排列程序示意圖所示,其係以圖4的類型=1之漢明碼編碼排列方法來產生重排列的已編碼資料,由於加入同位位元(E),因此,如圖8所示,3組已編碼資料C(1)~C(3)的每一組具有8(=7+1)位元,且每一組已編碼資料可偵測2位元的錯誤,故以p=1來進行排列所產生的重排列的已編碼資料13中的一組8位元已編碼資料亦可偵測2位元的錯誤。
此外,以本發明之漢明碼編碼排列方法亦可改善儲存裝置17之良率,請參照圖9所示以本發明之漢明碼編碼排列方法應用於儲存裝置檢測方法之示意圖,其首先根據步驟S204中的p的範圍(大於0且小
於或等於c的整數)而選定p的多種不同值,據以定義多種類型的漢明碼編碼排列方法(步驟S91),其中,前述多種類型的漢明碼編碼排列方法分別對應前述p的不同值,以前述(7,4)漢明碼為例,步驟S91可定義分別對應p=1、2、4、7的類型=1~4之漢明碼編碼排列方法;於生產並檢測儲存裝置17時,可依序採用多種類型(例如圖4至圖7的類型=1~4)的漢明碼編碼排列方法來對儲存裝置17進自我行測試(步驟S92~S95),當有一類型之漢明碼編碼排列方法檢測所進行的自我測試為成功時(例如寫入/讀出資料無誤或有錯誤但可更正),即可將此類型的漢明碼編碼排列方法記錄於儲存裝置17並成功完成及結束儲存裝置17之檢測(步驟S96),若是所有類型(類型=1~4)之漢明碼編碼排列方法所進行的自我測試皆失敗(例如寫入/讀出資料有錯誤且無法更正),則判定此儲存裝置17為不良品(步驟S97)。
由以上之說明可知,以本發明之漢明碼編碼排列方法,能夠對可預期的錯誤模式,藉由動態調整多組漢明碼的編排方式,以最佳位元率實現多位元錯誤修正或偵測,當其應用於儲存裝置(例如為大容量且高錯誤率的SRAM)時,由於位元錯誤位置通常是有規律性而具有可預期性,例如相鄰2位元的錯誤,或是間隔2位元的錯誤,或其他容易預測的多位元錯誤位置,因此,針對這些規律或可預期的錯誤模式,本發明藉由合併兩組或是多組的漢明碼,並動態配置編碼後的排列組合,可達成特定位置多位元的錯誤更正或偵測,並且維持傳統漢明碼原有的架構簡單、實現容易的特色,能提升資料傳輸或儲存的可靠度,及改善儲存裝置的良率。
上述實施例僅係為了方便說明而舉例而已,本發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
21:編碼程序
23:排列程序
S201~S208:步驟
Claims (11)
- 一種漢明碼編碼排列方法,包括步驟:(A)將一原始資料分為N組待編碼資料並分別對該N組待編碼資料進行(c,a)漢明碼編碼,以生成對應的N組編碼並據以產生對應的N組已編碼資料,其中,N=Round(X/a),X為該原始資料的位元數,a為一組待編碼資料的位元數,Round()代表取整數函數,一組已編碼資料的位元數為c且c=a+b,b為一組編碼的位元數且為符合2b>=a+b+1的最小值,當中,X、N、a、b、c皆為大於0的整數;(B)分別對該N組已編碼資料,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料,當中,p為大於0的整數且p小於c;(C)當該N組已編碼資料的每一組中仍有剩餘大於或等於p位元的未取出已編碼資料時,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料;以及(D)當N組已編碼資料的每一組中已無剩餘的未取出已編碼資料時,依前述排列產生重排列的已編碼資料;或當N組已編碼資料的每一組中僅有剩餘q位元的未取出已編碼資料時,取出每一組已編碼資料中的q位元的已編碼資料,並接續排列取出的N組q位元的已編碼資料,據此產生重排列的已編碼資料,當中,q為大於0且小於p的整數。
- 如請求項1所述之漢明碼編碼排列方法,其中,於步驟(A)中,該N組已編碼資料是由將該N組待編碼資料分別與對應的該N組編碼組合所產生。
- 如請求項1所述之漢明碼編碼排列方法,其中,該p位元的已編碼資料是為由低位元至高位元的連續已編碼資料。
- 如請求項1所述之漢明碼編碼排列方法,其中,於步驟(A)中,每一組已編碼資料中更加入一同位位元。
- 如請求項1所述之漢明碼編碼排列方法,其中,該重排列的已編碼資料係儲存於一儲存裝置中。
- 如請求項1所述之漢明碼編碼排列方法,其中,該(c,a)漢明碼編碼為(7,4)漢明碼編碼。
- 如請求項6所述之漢明碼編碼排列方法,其中,p=1。
- 如請求項6所述之漢明碼編碼排列方法,其中,p=2。
- 如請求項6所述之漢明碼編碼排列方法,其中,p=4。
- 一種儲存裝置檢測方法,其使用一漢明碼編碼排列方法來檢測一儲存裝置,該漢明碼編碼排列方法包括步驟:將一原始資料分為N組待編碼資料並分別對該N組待編碼資料進行(c,a)漢明碼編碼,以生成對應的N組編碼並據以產生對應的N組已編碼資料,其中,N=Round(X/a),X為該原始資料的位元數,a為一組待編碼資料的位元數,Round()代表取整數函數,一組已編碼資料的位元數為c且c=a+b,b為一組編碼的位元數且為符合2b>=a+b+1的最小值,當中,X、N、a、b、c皆為大於0的整數;分別對該N組已編碼資料,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料,當中,p為大於0的整數且p小於或等於c;當該N組已編碼資料的每一組中仍有剩餘大於或等於p位元的未取出已編碼資料時,取出每一組已編碼資料中的p位元的已編碼資料,並接續排列取出的N組p位元的已編碼資料;以及當N組已編碼資料的每一組中已無剩餘的未取出已編碼 資料時,依前述排列產生重排列的已編碼資料;或當N組已編碼資料的每一組中僅有剩餘q位元的未取出已編碼資料時,取出每一組已編碼資料中的q位元的已編碼資料,並接續排列取出的N組q位元的已編碼資料,據此產生重排列的已編碼資料,當中,q為大於0且小於p的整數,該儲存裝置檢測方法包括:於大於0且小於或等於c的整數中選定p的多種不同值,且根據該p的多種不同值,定義多種類型的漢明碼編碼排列方法,其中,該多種類型的漢明碼編碼排列方法分別對應該p的多種不同值;以及依序使用該多種類型的漢明碼編碼排列方法來對該儲存裝置進行自我測試,其中,當有一類型的漢明碼編碼排列方法所進行的自我測試為成功時,將該類型的漢明碼編碼排列方法記錄於該儲存裝置,並結束該儲存裝置之檢測,若是所有類型的漢明碼編碼排列方法所進行的自我測試皆失敗,則判定該儲存裝置為不良品。
- 如請求項10所述之儲存裝置檢測方法,其中,該(c,a)漢明碼編碼為(7,4)漢明碼編碼時,該p的多種不同值為1、2、4及7。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112144709A TWI876685B (zh) | 2023-11-20 | 2023-11-20 | 漢明碼編碼排列方法及儲存裝置檢測方法 |
| US18/807,215 US20250167809A1 (en) | 2023-11-20 | 2024-08-16 | Hamming code encoding and arranging method and storage device detection method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112144709A TWI876685B (zh) | 2023-11-20 | 2023-11-20 | 漢明碼編碼排列方法及儲存裝置檢測方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI876685B true TWI876685B (zh) | 2025-03-11 |
| TW202522905A TW202522905A (zh) | 2025-06-01 |
Family
ID=95714903
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112144709A TWI876685B (zh) | 2023-11-20 | 2023-11-20 | 漢明碼編碼排列方法及儲存裝置檢測方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250167809A1 (zh) |
| TW (1) | TWI876685B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150067447A1 (en) * | 2013-09-05 | 2015-03-05 | Infineon Technologies Ag | Method, apparatus and device for data processing |
| CN110233629B (zh) * | 2019-05-21 | 2021-09-03 | 中国科学院上海微系统与信息技术研究所 | 改进的汉明码纠错方法 |
| CN116595948A (zh) * | 2023-05-19 | 2023-08-15 | 北卡科技有限公司 | 一种基于(7,4)汉明码的信息嵌入及提取方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7409001B2 (en) * | 2004-08-12 | 2008-08-05 | Nokia Corporation | Method and apparatus using coordinate interleaving to increase diversity in a MIMO system |
| CA2660073A1 (en) * | 2008-03-25 | 2009-09-25 | Kenneth Gracie | Event cleanup processing for improving the performance of sequence based decoders |
| JP4861509B1 (ja) * | 2010-10-29 | 2012-01-25 | 株式会社東芝 | 符号化・復号化装置、データ記憶装置、及び方法 |
| US9455745B2 (en) * | 2013-02-21 | 2016-09-27 | Microsoft Technology Licensing, Llc | Encoding with integrated error-detection |
| US9736000B2 (en) * | 2013-08-23 | 2017-08-15 | Macom Connectivity Solutions, Llc | Duplex transmission over reduced pairs of twinax cables |
| US9658921B2 (en) * | 2013-10-31 | 2017-05-23 | Samsung Display Co., Ltd. | Maximal transition hamming codes |
| US10374752B2 (en) * | 2017-08-31 | 2019-08-06 | Inphi Corporation | Methods and systems for data transmission |
-
2023
- 2023-11-20 TW TW112144709A patent/TWI876685B/zh active
-
2024
- 2024-08-16 US US18/807,215 patent/US20250167809A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150067447A1 (en) * | 2013-09-05 | 2015-03-05 | Infineon Technologies Ag | Method, apparatus and device for data processing |
| CN104424046B (zh) * | 2013-09-05 | 2017-07-28 | 英飞凌科技股份有限公司 | 数据处理的方法、装置和设备 |
| CN110233629B (zh) * | 2019-05-21 | 2021-09-03 | 中国科学院上海微系统与信息技术研究所 | 改进的汉明码纠错方法 |
| CN116595948A (zh) * | 2023-05-19 | 2023-08-15 | 北卡科技有限公司 | 一种基于(7,4)汉明码的信息嵌入及提取方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250167809A1 (en) | 2025-05-22 |
| TW202522905A (zh) | 2025-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11347584B2 (en) | Memory system | |
| KR101135425B1 (ko) | 다상 에러 보정을 위한 방법 및 디바이스 | |
| KR100935842B1 (ko) | 부호화 장치, 복호화 장치, 부호화·복호화 장치 및 기록재생 장치 | |
| US6029264A (en) | System and method for error correcting a received data stream in a concatenated system | |
| TWI604698B (zh) | 具有錯誤校正處置之低密度同位檢查解碼器 | |
| KR102143353B1 (ko) | 메모리 소자로부터 액세스된 데이터의 오류를 정정하는 장치 및 방법 | |
| JPH06276178A (ja) | トリプル直交インターリーブ式エラー訂正システム | |
| US20190173495A1 (en) | Method and Decoder for Soft Input Decoding of Generalized Concatenated Codes | |
| KR20140032945A (ko) | 불완전한 오류 특성을 갖는 채널 및 메모리를 위한 오류 감지 및 정정 코드 | |
| JP2014154899A (ja) | 誤り検出訂正装置、誤り検出訂正方法、情報処理装置、および、プログラム | |
| WO1996024134A1 (en) | A method and apparatus for protecting data from mis-synchronization errors | |
| US7644336B2 (en) | Techniques for providing greater error protection to error-prone bits in codewords generated from irregular codes | |
| US20050154964A1 (en) | Data retrieval from a storage device using a combined error correction and detection approach | |
| US8913336B2 (en) | Constrained on-the-fly interleaver address generator circuits, systems, and methods | |
| TWI876685B (zh) | 漢明碼編碼排列方法及儲存裝置檢測方法 | |
| Wolf | An introduction to tensor product codes and applications to digital storage systems | |
| TW200522533A (en) | Interleaving method for low density parity check encoding | |
| US20050022095A1 (en) | Error correction decoding method and apparatus | |
| CN120021163A (zh) | 汉明码编码排列方法及储存装置检测方法 | |
| US20140344652A1 (en) | Method for generating a maximized linear correcting code, method and device for decoding such a code | |
| CN103916139B (zh) | 一种基于里德所罗门码的加强型编码方法、解码方法及解码器 | |
| Han et al. | Multi-permutation codes correcting a single burst unstable deletions in flash memory | |
| US7254771B1 (en) | Error-erasure decoding of interleaved reed-solomon code | |
| US6615384B1 (en) | Encoding/decoding method and apparatus and disk storage device | |
| JP2005064608A (ja) | 信号処理方法及び信号処理回路 |