TWI804347B - 編碼器與快閃記憶體控制器 - Google Patents
編碼器與快閃記憶體控制器 Download PDFInfo
- Publication number
- TWI804347B TWI804347B TW111122323A TW111122323A TWI804347B TW I804347 B TWI804347 B TW I804347B TW 111122323 A TW111122323 A TW 111122323A TW 111122323 A TW111122323 A TW 111122323A TW I804347 B TWI804347 B TW I804347B
- Authority
- TW
- Taiwan
- Prior art keywords
- check code
- blocks
- encoder
- flash memory
- partial
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 92
- 239000011159 matrix material Substances 0.000 claims abstract description 90
- 238000009825 accumulation Methods 0.000 claims description 23
- 208000024891 symptom Diseases 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012795 verification Methods 0.000 description 12
- 208000011580 syndromic disease Diseases 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/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/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- 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/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Control Of Stepping Motors (AREA)
- Electrophonic Musical Instruments (AREA)
- Rear-View Mirror Devices That Are Mounted On The Exterior Of The Vehicle (AREA)
Abstract
本發明揭露了一種用於一快閃記憶體控制器中的編碼器,其透過將局部校驗碼區塊分為兩個部分來進行操作,且產生時間較早之第一部份的局部校驗碼的數量小於第二部份之局部校驗碼的數量,可以在確實產生校驗碼區塊的情形下降低編碼器中的循環卷積計算所需要的硬體,且具有較高的效率。此外,透過將校驗碼檢查矩陣進行轉換以產生一同構矩陣,可以進一步地省去編碼器與解碼器中的部份元件,以更加降低製造成本。
Description
本發明係有關於編碼器,尤指一種應用在快閃記憶體控制器中的編碼器。
在一般的編碼器中,會具有一個校驗碼檢查矩陣(parity-check matrix),以供編碼器檢查所產生出來的校驗碼是否正確。舉例來說,編碼器在對資料進行編碼以產生校驗碼之後,會將資料與校驗碼和此校驗碼檢查矩陣進行相乘,而若是相乘結果等於“0”則判斷編碼正確;而若是相乘結果不等於“0”則判斷編碼錯誤。因應此校驗碼檢查矩陣,編碼器會具有一相對應的校驗碼產生矩陣以供產生適合的校驗碼,然而,在某些情況下,校驗碼產生矩陣可能無法被找到,因此編碼器會需要進行多個矩陣乘法操作及/或補償/調整操作,以產生類似使用校驗碼產生矩陣所產生的校驗碼,因此會增加編碼器的複雜度。特別地,上述多個矩陣乘法操作通常會包含循環卷積(circulant convolution)計算,因此更會大幅增加編碼器的硬體成本。
因此,本發明的目的之一在於提出一種編碼器,其可以降低編碼器
中的循環卷積計算所需要的硬體,以避免先前技術中所述之硬體成本大幅增加的情形。
在本發明的一個實施例中,揭露了一種編碼器,其包含有一第一桶式移位器模組、一第一計算電路、一調整電路、一第一循環卷積計算電路及一第二計算電路。該第一桶式移位器模組用以將多個資料區塊進行處理以依序產生多個局部校驗碼區塊,其中該多個局部校驗碼區塊包含了一第一部分及一第二部分,該第一部分的產生時間早於該第二部分,且該第一部分所包含之局部校驗碼區塊的數量少於該第二部分所包含之局部校驗碼區塊的數量。該第一計算電路耦接於該第一桶式移位器模組,且用以根據該第二部分以產生一第一計算結果。該調整電路用以根據該第一計算結果來調整該多個局部校驗碼區塊的該第一部分,以產生一調整後第一部分。該第一循環卷積計算電路,耦接於該調整電路,用以對該調整後第一部分進行循環卷積操作,以產生一第一部分的校驗碼區塊。該第二計算電路耦接於該第一循環卷積計算電路,且用以至少根據該第一部分的校驗碼區塊以產生一第二部分的校驗碼區塊,其中該第一部分的校驗碼區塊及該第二部分的校驗碼區塊係作為該編碼器針對該多個資料區塊所產生之多個校驗碼區塊,且該多個資料區塊以及該多個校驗碼區塊係被寫入至一快閃記憶體模組中。
在本發明的一個實施例中,揭露了一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有一記憶體、一微處理器及一編碼器。該記憶體用來儲存一程式碼,該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取,且該編碼器用以對多個資料區塊進行編碼以得到多個校驗碼區塊。此外,該編碼器包含有一第一桶式移
位器模組、一第一計算電路、一調整電路、一第一循環卷積計算電路及一第二計算電路。該第一桶式移位器模組用以將多個資料區塊進行處理以依序產生多個局部校驗碼區塊,其中該多個局部校驗碼區塊包含了一第一部分及一第二部分,該第一部分的產生時間早於該第二部分,且該第一部分所包含之局部校驗碼區塊的數量少於該第二部分所包含之局部校驗碼區塊的數量。該第一計算電路耦接於該第一桶式移位器模組,且用以根據該第二部分以產生一第一計算結果。該調整電路用以根據該第一計算結果來調整該多個局部校驗碼區塊的該第一部分,以產生一調整後第一部分。該第一循環卷積計算電路,耦接於該調整電路,用以對該調整後第一部分進行循環卷積操作,以產生一第一部分的校驗碼區塊。該第二計算電路耦接於該第一循環卷積計算電路,且用以至少根據該第一部分的校驗碼區塊以產生一第二部分的校驗碼區塊,其中該第一部分的校驗碼區塊及該第二部分的校驗碼區塊係作為該編碼器針對該多個資料區塊所產生之多個校驗碼區塊,且該多個資料區塊以及該多個校驗碼區塊係被寫入至一快閃記憶體模組中。
在本發明的一個實施例中,揭露了一種編碼器,其包含有一桶式移位器模組、一調整電路、一循環卷積計算電路及一計算電路。該桶式移位器模組用以將多個資料區塊進行處理以產生多個局部校驗碼區塊,其中該多個局部校驗碼區塊包含了一第一部分及一第二部分,該第一部分的產生時間早於該第二部分,且該第一部分所包含之局部校驗碼區塊的數量少於該第二部分所包含之局部校驗碼區塊的數量。該調整電路用以根據該第二部分來調整該多個局部校驗碼區塊的該第一部分,以產生一調整後第一部分。該循環卷積計算電路耦接於該調整電路,且用以對該調整後第一部分進行循環卷積操作,以產生一第一部分的校驗碼區塊。該計算電路耦接於該循環卷積計算電路,且用以至少根
據該第一部分的校驗碼區塊以產生一第二部分的校驗碼區塊,其中該第一部分的校驗碼區塊及該第二部分的校驗碼區塊係作為該編碼器針對該多個資料區塊所產生之多個校驗碼區塊,且該多個資料區塊以及該多個校驗碼區塊係被寫入至一快閃記憶體模組中。
在本發明的一個實施例中,揭露了一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有一記憶體、一微處理器及一編碼器。該記憶體用來儲存一程式碼,該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取,且該編碼器用以對多個資料區塊進行編碼以得到多個校驗碼區塊。此外,該編碼器包含有一桶式移位器模組、一調整電路、一循環卷積計算電路及一計算電路。該桶式移位器模組用以將多個資料區塊進行處理以產生多個局部校驗碼區塊,其中該多個局部校驗碼區塊包含了一第一部分及一第二部分,該第一部分的產生時間早於該第二部分,且該第一部分所包含之局部校驗碼區塊的數量少於該第二部分所包含之局部校驗碼區塊的數量。該調整電路用以根據該第二部分來調整該多個局部校驗碼區塊的該第一部分,以產生一調整後第一部分。該循環卷積計算電路耦接於該調整電路,且用以對該調整後第一部分進行循環卷積操作,以產生一第一部分的校驗碼區塊。該計算電路耦接於該循環卷積計算電路,且用以至少根據該第一部分的校驗碼區塊以產生一第二部分的校驗碼區塊,其中該第一部分的校驗碼區塊及該第二部分的校驗碼區塊係作為該編碼器針對該多個資料區塊所產生之多個校驗碼區塊,且該多個資料區塊以及該多個校驗碼區塊係被寫入至一快閃記憶體模組中
100:記憶裝置
110:快閃記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯
116:緩衝記憶體
118:介面邏輯
120:快閃記憶體模組
130:主裝置
132,300,400,600:編碼器
134,700:解碼器
310,326,352,410,422,424,452,610:桶式移位器模組
311,312,313,314,315,411,412,413,414,415:桶式移位器
612,613,614,615,712,713,714,715:桶式移位器
317_1~317_5,332,334,336,357,358:累加電路
417_1~417_5,432,434,436,438:累加電路
617_1~617_5,632,634,636,638,717_1~717_5:累加電路
320,420:第一計算電路
322,340,354,440,640:循環卷積計算電路
324,342,356,442,642:補償電路
330,430,630:調整電路
350,450:第二計算電路
454:輸出電路
650:計算電路
700:解碼器
720:LDPC解碼電路
DB_1~DB_43:資料區塊
D1~DN:讀取資料區塊
PPB_1~PPB_5:局部校驗碼區塊
PB_1~PB_5:校驗碼區塊
S_1~S_5:解碼徵狀
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。
第2圖為校驗碼檢查矩陣及校驗碼產生矩陣的示意圖。
第3圖為根據本發明一實施例之編碼器的示意圖。
第4圖為根據本發明另一實施例之編碼器的示意圖。
第5圖為產生校驗碼檢查矩陣之同構矩陣的示意圖。
第6圖為根據本發明另一實施例之編碼器的示意圖。
第7圖為根據本發明一實施例之解碼器的示意圖。
請參考第1圖,第1圖為依據本發明一實施例之一種記憶裝置100的示意圖。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。依據本實施例,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。控制邏輯114包含了一編碼器132以及一解碼器134,其中編碼器132用來對寫入到快閃記憶體模組120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),而解碼器134用來將從快閃記憶體模組120所讀出的資料進行解碼。
於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之快閃記憶體控制器110)對快閃記憶體模組120進行複
製、抹除、合併資料等運作係以區塊為單位來進行複製、抹除、合併資料。另外,一區塊可記錄特定數量的資料頁(Page),其中該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。換句話說,區塊是快閃記憶體模組120中一個最小的抹除單位,而資料頁是快閃記憶體模組120中一個最小的寫入單位。
實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)130溝通。
在一實施例中,記憶裝置100可以是可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主裝置130為一可與記憶裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦...等等。而在另一實施例中,記憶裝置100可以設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主裝置130可以是該電子裝置的一處理器。
在本實施例中,編碼器132為一低密度奇偶檢查碼(Low-Density Parity Check code,LDPC code)編碼器,且可以根據來自主裝置130的資料來產生對應的校驗碼,且所產生的校驗碼需要符合一校驗碼檢查矩陣(parity check matrix)。具體來說,參考第2圖,假設該校驗碼檢查矩陣為一大小為c*t的矩陣(例如,c=5,t=48),而該校驗碼檢查矩陣可以分為左側的矩陣M(大小為c*(t-c))以及
右側的矩陣K(大小為c*c),為了找出與該校驗碼檢查矩陣所對應的校驗碼產生矩陣,可以先找出矩陣K的反矩陣K-1(inverse matrix),之後再將反矩陣(K-1)與矩陣M相乘以得到矩陣P,而矩陣P的轉置矩陣(transpose matrix)便可以作為校驗碼產生矩陣。換句話說,在找到矩陣P的轉置矩陣之後,編碼器132可以將來自主裝置130的資料乘以矩陣P的轉置矩陣來得到對應於該些資料的校驗碼,而編碼器之後再將資料與校驗碼一起乘上該校驗碼檢查矩陣以判斷校驗碼是否正確。舉例來說,若是相乘結果等於“0”則判斷編碼正確;而若是相乘結果不等於“0”則判斷編碼錯誤。在判斷編碼正確之後,資料與對應的校驗碼便會被寫入至快閃記憶體模組120中的一個資料頁中。
然而,在某些情況下,反矩陣K-1可能無法被輕易找到,因此編碼器132會需要進行多個矩陣乘法操作及/或補償/調整操作來得到一個類似反矩陣K-1的內容,以供找出校驗碼產生矩陣來產生校驗碼。本發明因此提出了一種電路架構,以使得編碼器132可以在盡可能節省硬體成本的情形下完成編碼器132的操作。需注意的是,編碼器132中有關於編碼的過程涉及許多複雜的數學運算,但由於本發明的重點是在於電路架構的設計,故相關的矩陣內容及推導過程的細節在此不予贅述。
參考第3圖,其為根據本發明一實施例之編碼器300的示意圖,其中編碼器300可以作為第1圖所示之編碼器132。如第3圖所示,編碼器300包含了一桶式移位器(barrel shifter)模組310、一第一計算電路320、一調整電路330、一循環卷積(circulant convolution)計算電路340、一補償電路342以及一第二計算電路350。在本實施例中,桶式移位器模組310包含了多個桶式移位器311、312、313、314、315以及多個累加電路317_1~317_5;第一計算電路320包含了一循環卷積
計算電路322、一補償電路324以及一桶式移位器模組326;調整電路330包含了多個累加電路332、334、336;以及第二計算電路350包含了一桶式移位器模組352、一循環卷積計算電路354、一補償電路356、及包含兩個累加電路357、358的輸出電路。在本實施例中,編碼器300係將來自主裝置130的一筆資料分為多個資料區塊(在本實施例中該多個資料區塊為43個資料區塊DB_1~DB_43),並將該多個資料區塊DB_1~DB_43進行編碼後產生多個校驗碼區塊(在本實施例中該多個校驗碼區塊為5個校驗碼區塊PB_1~PB_5)。需注意的是,上述之一個資料區塊與一個校驗碼區塊的大小是相同的,且資料區塊的大小可以由設計者所自行決定,例如192*192個位元。
在編碼器300的操作中,首先,桶式移位器模組310依序接收資料區塊DB_1~DB_43並進行處理,以產生多個局部校驗碼(partial parity)區塊PPB_1~PPB_5。具體來說,桶式移位器311可以依序對資料區塊DB_1~DB_43進行移位操作,並透過累加電路317_1來將43個移位後資料區塊進行相加來得到局部校驗碼區塊PPB_1;桶式移位器312可以依序對資料區塊DB_1~DB_43進行移位操作,並透過累加電路317_2來將43個移位後資料區塊進行相加來得到局部校驗碼區塊PPB_2;類似地,桶式移位器313、314、315可以依序對資料區塊DB_1~DB_43進行移位操作,並透過累加電路317_3、317_4、317_5來將43個移位後資料區塊進行相加來分別得到局部校驗碼區塊PPB_3、PPB_4、PPB_5。
局部校驗碼區塊PPB_1~PPB_5會被分兩個部分以進行不同的處理,其中第一部分包含了兩個局部校驗碼區塊PPB_1、PPB_2,而第二部分包含了三個局部校驗碼區塊PPB_3~PPB_5。在第一計算電路320的操作中,循環卷積計算電路322將局部校驗碼區塊PPB_1、PPB_2進行循環卷積操作以產生兩個中間區
塊;補償電路324係為一可移除(optional)的元件,且用來補償循環卷積計算電路322所輸出的兩個中間區塊;桶式移位器模組326用以對該兩個中間區塊進行處理以產生兩個計算結果區塊。在本實施例中,由於桶式移位器模組326係根據兩個中間區塊來產生三個計算結果區塊,故桶式移位器模組326可以包含6個桶式移位器(2*3=6)。
調整電路330中的累加電路332、334、336將桶式移位器模組326所產生的三個計算結果區塊分別與第二部份的局部校驗碼區塊PPB_3~PPB_5進行相加,以產生調整後的局部校驗碼區塊。
接著,循環卷積計算電路340對調整後之第二部分的局部校驗碼區塊(即PPB_3~PPB_5)進行循環卷積操作,並透過補償電路342以產生校驗碼區塊PB_3~PB_5。需注意的是,補償電路342為一可移除的元件,亦即在不需要補償的情形下可以自編碼器300中移除而不會影響到其操作。
接著,在第二計算電路350的操作中,桶式移位器模組352對校驗碼區塊PB_3~PB_5進行處理以產生兩個處理後區塊;循環卷積計算電路354將兩個處理後區塊進行循環卷積操作以產生兩個輸出區塊;補償電路356係為一可移除的元件,且用來補償循環卷積計算電路354所輸出的兩個輸出區塊;累加電路357、358分別將循環卷積計算電路322或是補償電路324所產生的中間區塊與循環卷積計算電路354或是補償電路356所產生的兩個輸出區塊進行相加,以產生校驗碼區塊PB_1、PB_2。在本實施例中,由於桶式移位器模組352係根據三個校驗碼區塊PB_3~PB_5來產生兩個處理後區塊,故桶式移位器模組352可以包含6個桶式移位器(3*2=6)
在產生校驗碼區塊PB_1~PB_5之後,編碼器會將資料區塊DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起與校驗碼檢查矩陣相乘以判斷校驗碼區塊PB_1~PB_5是否正確。若是正確,快閃記憶體控制器110便會將資料區塊DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起寫入到快閃記憶體模組120的一區塊的一資料頁中。
在第3圖所示的電路架構中,桶式移位器模組310可以被比對為第2圖所示之矩陣M,而第一計算電路320、調整電路330、循環卷積計算電路340、補償電路342以及第二計算電路350則是用來產生一個類似於第2圖所示之反矩陣K-1的內容,以在無法確實找到反矩陣K-1的情形下可以產生校驗碼區塊PB_1~PB_5。此外,編碼器300具有三個循環卷積計算電路322、340、354,其中循環卷積計算電路322為2*2個循環矩陣/區塊相乘,循環卷積計算電路340為3*3個循環矩陣/區塊相乘,以及循環卷積計算電路354為2*2個循環矩陣/區塊相乘,因此總和來說編碼器300的循環矩陣/區塊相乘的次數為17次(4+9+4=17)。因此,由於編碼器300只需進行17次循環矩陣/區塊相乘操作便可以產生五個校驗碼區塊,故可以確實降低編碼器300的硬體成本。
在本實施例中,於實作上,編碼器300係依序對資料區塊DB_1~DB_43進行處理,而局部校驗碼區塊PPB_1~PPB_5亦依序產生,亦即,第一部份的局部校驗碼區塊PPB_1、PPB_2的產生時間早於第二部份的局部校驗碼區塊PPB_3~PPB_5的產生時間。因此,透過將第一部份之局部校驗碼的數量設為小於第二部份之局部校驗碼的數量,可以讓編碼器300整體在執行上更有效率。具體來說,透過第一計算電路320處理產生時間較早之第一部份的局部校驗
碼區塊PPB_1、PPB_2,可以讓第一計算電路320較早產生三個計算結果區塊供調整電路330使用,以增進整體的效率。
參考第4圖,其為根據本發明另一實施例之編碼器400的示意圖,其中編碼器400可以作為第1圖所示之編碼器132。如第4圖所示,編碼器400包含了一桶式移位器模組410、一第一計算電路420、一調整電路430、一循環卷積計算電路440、一補償電路442以及一第二計算電路450。在本實施例中,桶式移位器模組410包含了多個桶式移位器411、412、413、414、415以及多個累加電路417_1~417_5;第一計算電路420包含兩個桶式移位器模組422、424;調整電路430包含了多個累加電路432、434、436、438;以及第二計算電路350包含了一桶式移位器模組452以及一輸出電路454。在本實施例中,編碼器400係將來自主裝置130的一筆資料分為多個資料區塊(在本實施例中該多個資料區塊為43個資料區塊DB_1~DB_43),並將該多個資料區塊DB_1~DB_43進行編碼後產生多個校驗碼區塊(在本實施例中該多個校驗碼區塊為5個校驗碼區塊PB_1~PB_5)。需注意的是,上述之一個資料區塊與一個校驗碼區塊的大小是相同的,且資料區塊的大小可以由設計者所自行決定,例如192*192個位元。
在編碼器400的操作中,首先,桶式移位器模組410將資料區塊DB_1~DB_43進行處理以產生多個局部校驗碼(partial parity)區塊PPB_1~PPB_5。具體來說,桶式移位器411可以分別對資料區塊DB_1~DB_43進行移位操作,並透過累加電路417_1來將43個移位後資料區塊進行相加來得到局部校驗碼區塊PPB_1;桶式移位器412可以分別對資料區塊DB_1~DB_43進行移位操作,並透過累加電路417_2來將43個移位後資料區塊進行相加來得到局部校驗碼區塊PPB_2;類似地,桶式移位器413、414、415可以分別對資料區塊
DB_1~DB_43進行移位操作,並透過累加電路417_3、417_4、417_5來將43個移位後資料區塊進行相加來分別得到局部校驗碼區塊PPB_3、PPB_4、PPB_5。
局部校驗碼區塊PPB_1~PPB_5會被分兩個部分以進行不同的處理,其中第一部分包含了一個局部校驗碼區塊PPB_1,而第二部分包含了四個局部校驗碼區塊PPB_2~PPB_5。在第一計算電路420的操作中,桶式移位器模組422對局部校驗碼區塊PPB_1進行移位操作以產生一中間區塊,且桶式移位器模組424對該中間區塊進行處理以產生四個計算結果區塊。
調整電路430中的累加電路432、434、436、438將桶式移位器模組424所產生的四個計算結果區塊分別與局部校驗碼區塊PPB_2~PPB_5進行相加,以產生調整後的局部校驗碼區塊。
接著,循環卷積計算電路440對調整後之第二部分的局部校驗碼區塊(即PPB_2~PPB_5)進行循環卷積操作,並透過補償電路442以產生校驗碼區塊PB_2~PB_5。需注意的是,補償電路442為一可移除的元件,亦即在不需要補償的情形下可以自編碼器400中移除而不會影響到其操作。
接著,在第二計算電路450的操作中,桶式移位器模組452對校驗碼區塊PB_1~PB_4進行處理以產生一個處理後區塊;輸出電路454將桶式移位器模組422所產生的中間區塊與桶式移位器模組452所產生的處理後區塊進行相加,以產生校驗碼區塊PB_1。
在產生校驗碼區塊PB_1~PB_5之後,編碼器會將資料區塊
DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起與校驗碼檢查矩陣相乘以判斷校驗碼區塊PB_1~PB_5是否正確。若是正確,快閃記憶體控制器110便會將資料區塊DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起寫入到快閃記憶體模組120的一區塊的一資料頁中。
在第4圖所示的電路架構中,桶式移位器模組410可以被比對為第2圖所示之矩陣M,而第一計算電路420、調整電路430、循環卷積計算電路440、補償電路442以及第二計算電路450則是用來產生一個類似於第2圖所示之反矩陣K-1的內容,以在無法確實找到反矩陣K-1的情形下可以產生校驗碼區塊PB_1~PB_5。此外,編碼器400僅具有一個循環卷積計算電路440,其中循環卷積計算電路440為4*4個循環矩陣/區塊相乘。因此,由於編碼器400只需進行16次循環矩陣/區塊相乘操作便可以產生五個校驗碼區塊,故可以確實降低編碼器400的硬體成本。
在本實施例中,於實作上,編碼器400係依序對資料區塊DB_1~DB_43進行處理,而局部校驗碼區塊PPB_1~PPB_5亦依序產生,亦即,第一部份的局部校驗碼區塊PPB_1、PPB_2的產生時間早於第二部份的局部校驗碼區塊PPB_3~PPB_5的產生時間。因此,透過將第一部份之局部校驗碼的數量設為小於第二部份之局部校驗碼的數量,可以讓編碼器400整體在執行上更有效率。具體來說,透過第一計算電路420處理產生時間較早之第一部份的局部校驗碼區塊PPB_1,可以讓第一計算電路420較早產生四個計算結果區塊供調整電路430使用,以增進整體的效率。
在一實施例中,設計者可以將校驗碼檢查矩陣進行轉換以產生一同
構(isomorphic)矩陣,以使得編碼器132的電路架構可以進一步的簡化。具體來說,參考第5圖,其中左側的矩陣是校驗碼檢查矩陣中的矩陣K,且其中的每一個符號σ係用來表示一個子矩陣,而符號σ的上標表示子矩陣旋轉了多少個位元,例如“σ136”表示旋轉了136個位元。在本實施例中,矩陣K可以進行轉換以使得最上列(row)以及最左行(column)的子矩陣都成為一個單位矩陣(identity matrix)。具體來說,設計者可以先根據第1行之子矩陣的旋轉位元數來調整每一列的每一個子矩陣的旋轉位元數(例如,第1列之每一個子矩陣的旋轉位元數都減去“136”),以使得矩陣K第一行的每一個子矩陣都成為單位矩陣(亦即,“σ0”);接著,設計者再根據第1列之子矩陣的旋轉位元數來調整每一行的每一個子矩陣的旋轉位元數(例如,第2行之每一個子矩陣的旋轉位元數都減去位於第一列之子矩陣的旋轉位元數),以使得矩陣K第一列的每一個子矩陣都成為單位矩陣(亦即,“σ0”)。校驗碼檢查矩陣之矩陣K進行轉換之同構矩陣可以如第5圖之右圖所示,其中上標S00~S33指的是同構矩陣的旋轉位元數。
參考第6圖,其為根據本發明另一實施例之編碼器600的示意圖,其中編碼器600可以作為第1圖所示之編碼器132。如第6圖所示,編碼器600包含了一桶式移位器模組610、一調整電路630、一循環卷積計算電路640、一補償電路642以及一計算電路650。在本實施例中,桶式移位器模組610包含了多個桶式移位器612、613、614、615以及多個累加電路617_1~617_5。在本實施例中,編碼器600係將來自主裝置130的一筆資料分為多個資料區塊(在本實施例中該多個資料區塊為43個資料區塊DB_1~DB_43),並將該多個資料區塊DB_1~DB_43進行編碼後產生多個校驗碼區塊(在本實施例中該多個校驗碼區塊為5個校驗碼區塊PB_1~PB_5)。需注意的是,上述之一個資料區塊與一個校驗碼區塊的大小是相同的,且資料區塊的大小可以由設計者所自行決定,例如192*192個位元。
在編碼器600的操作中,首先,桶式移位器模組610將資料區塊DB_1~DB_43進行處理以產生多個局部校驗碼(partial parity)區塊PPB_1~PPB_5。累加電路617_1可以直接將43個資料區塊進行相加來得到局部校驗碼區塊PPB_1,桶式移位器612可以分別對資料區塊DB_1~DB_43進行移位操作,並透過累加電路617_2來將43個移位後資料區塊進行相加來得到局部校驗碼區塊PPB_2;類似地,桶式移位器613、614、615可以分別對資料區塊DB_1~DB_43進行移位操作,並透過累加電路617_3、617_4、617_5來將43個移位後資料區塊進行相加來分別得到局部校驗碼區塊PPB_3、PPB_4、PPB_5。
局部校驗碼區塊PPB_1~PPB_5會被分兩個部分以進行不同的處理,其中第一部分包含了一個局部校驗碼區塊PPB_1,而第二部分包含了四個局部校驗碼區塊PPB_2~PPB_5。調整電路630中的累加電路632、634、636、638分別將局部校驗碼區塊PPB_1的內容加入到局部校驗碼區塊PPB_2~PPB_5中,以產生調整後的局部校驗碼區塊。
接著,循環卷積計算電路640對調整後之第二部分的局部校驗碼區塊(即PPB_2~PPB_5)進行循環卷積操作,並透過補償電路642以產生校驗碼區塊PB_2~PB_5。需注意的是,補償電路642為一可移除的元件,亦即在不需要補償的情形下可以自編碼器600中移除而不會影響到其操作。
接著,計算電路650將局部校驗碼區塊PPB_1與校驗碼區塊PB_2~PB_5進行相加,以產生校驗碼區塊PB_1。
在產生校驗碼區塊PB_1~PB_5之後,編碼器會將資料區塊DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起與校驗碼檢查矩陣相乘以判斷校驗碼區塊PB_1~PB_5是否正確。若是正確,快閃記憶體控制器110便會將資料區塊DB_1~DB_43連同校驗碼區塊PB_1~PB_5一起寫入到快閃記憶體模組120的一區塊的一資料頁中。
在第6圖所示的電路架構中,桶式移位器模組610可以被比對為第2圖所示之矩陣M,而調整電路630、循環卷積計算電路640、補償電路642以及計算電路650則是用來產生一個類似於第2圖所示之反矩陣K-1的內容,以在無法確實找到反矩陣K-1的情形下可以產生校驗碼區塊PB_1~PB_5。此外,編碼器600僅具有一個循環卷積計算電路640,其中循環卷積計算電路640為4*4個循環矩陣/區塊相乘。因此,由於編碼器600只需進行16次循環矩陣/區塊相乘操作便可以產生五個校驗碼區塊,故可以確實降低編碼器600的硬體成本。另一方面,相較於第4圖的實施例,由於少了第一計算電路420以及第二計算電路450中的部分元件,且桶式移位器模組610比桶式移位器模組410少了一個桶式移位器,故可以進一步地降低成本。
此外,若是採用第6圖所示之編碼器600,則解碼器134的電路架構亦可進一步縮減以降低製造成本。參考第7圖所示之根據本發明另一實施例之解碼器700的示意圖,其中解碼器700可以作為第1圖所示之編碼器134。如第7圖所示,解碼器700包含了多個桶式移位器712~715、多個累加電路717_1~717_5以及一LDPC解碼電路720。在本實施例中,解碼器700係接收來自快閃記憶體模組120的讀取資料,並將讀取資料分為多個讀取資料區塊D1~DN,再將多個讀取資料區塊D1~DN進行計算產生多個解碼徵狀(syndrome)S_1~S_5,之後再將解碼徵狀
S_1~S_5傳送至LDPC解碼電路720進行解碼操作以更正讀取資料中的錯誤位元。
在解碼器700的操作中,首先,累加電路717_1可以直接將讀取資料區塊D1~DN進行相加來得到解碼徵狀S_1,桶式移位器712可以分別對讀取資料區塊D1~DN進行移位操作,並透過累加電路717_2來將多個移位後讀取資料區塊進行相加來得到解碼徵狀S_2;類似地,桶式移位器713、714、715可以分別對讀取資料區塊D1~DN進行移位操作,並透過累加電路717_3、717_4、717_5來將多個移位後資料區塊進行相加來分別得到解碼徵狀S_3~S_5。
在第7圖的實施例中,由於產生解碼徵狀S1的過程中不需要使用到桶式移位器,故解碼器700在電路上可具有較少的元件,以降低製造成本。
簡要歸納本發明,在本發明之編碼器中,透過將局部校驗碼區塊分為兩個部分來進行操作,且產生時間較早之第一部份的局部校驗碼的數量小於第二部份之局部校驗碼的數量,可以在確實產生校驗碼區塊的情形下降低編碼器中的循環卷積計算所需要的硬體,且具有較高的效率。此外,透過將校驗碼檢查矩陣進行轉換以產生一同構矩陣,可以進一步地省去編碼器與解碼器中的部份元件,以更加降低製造成本。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
300:編碼器
310,326,352:桶式移位器模組
311,312,313,314,315:桶式移位器
317_1~317_5,332,334,336,357,358:累加電路
320:第一計算電路
322、340、354:循環卷積計算電路
324、342、356:補償電路
330:調整電路
350:第二計算電路
DB_1~DB_43:資料區塊
PPB_1~PPB_5:局部校驗碼區塊
PB_1~PB_5:校驗碼區塊
Claims (2)
- 一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一記憶體,用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;以及一編碼器,用以對多個資料區塊進行編碼以得到多個校驗碼區塊,其中該編碼器包含有:一第一桶式移位器模組,用以將多個資料區塊進行處理以產生多個局部校驗碼(partial parity)區塊,其中該多個局部校驗碼區塊包含了一第一部分及一第二部分,該第一部分的產生時間早於該第二部分,且該第一部分所包含之局部校驗碼區塊的數量少於該第二部分所包含之局部校驗碼區塊的數量;一調整電路,用以根據該第一部分來調整該多個局部校驗碼區塊的該第二部分,以產生一調整後第一部分;一循環卷積(circulant convolution)計算電路,耦接於該調整電路,用以對該調整後第一部分進行循環卷積操作,以產生一第一部分的校驗碼區塊;以及一計算電路,耦接於該循環卷積計算電路,用以至少根據該第一部分的校驗碼區塊以產生一第二部分的校驗碼區塊;其中該第一部分的校驗碼區塊及該第二部分的校驗碼區塊係作為該編碼器針對該多個資料區塊所產生之多個校驗碼區塊,且該多個資料區塊以及該多個校驗碼區塊係被寫入至一快閃記憶體中;其中該多個資料區塊以及該多個校驗碼區塊係一起與一校驗碼檢查矩陣相乘以判斷該多個校驗碼區塊是否正確;若是判斷該多個校驗 碼區塊正確,則該多個資料區塊以及該多個校驗碼區塊才會被寫入至該快閃記憶體中;該驗碼檢查矩陣之第一行與第一列的每一個子矩陣均為單位矩陣(identity matrix),該快閃記憶體控制器另包含一解碼器,且該解碼器包含了:一第二桶式移位器模組與多個累加電路,用以對自該快閃記憶體模組中所讀取之多個讀取資料區塊進行處理以產生多個解碼徵狀,其中該第二桶式移位器模組所包含之桶式移位器的數量少於多個累加電路的數量,且該第二桶式移位器模組所包含之桶式移位器的數量少於該解碼徵狀的數量。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該第一部分僅包含了一個局部校驗碼區塊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122323A TWI804347B (zh) | 2022-06-16 | 2022-06-16 | 編碼器與快閃記憶體控制器 |
US17/945,110 US11929764B2 (en) | 2022-06-16 | 2022-09-15 | Encoder and flash memory controller |
CN202310028454.9A CN117254824A (zh) | 2022-06-16 | 2023-01-09 | 编码器与快闪存储器控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122323A TWI804347B (zh) | 2022-06-16 | 2022-06-16 | 編碼器與快閃記憶體控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI804347B true TWI804347B (zh) | 2023-06-01 |
TW202401250A TW202401250A (zh) | 2024-01-01 |
Family
ID=87803394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111122323A TWI804347B (zh) | 2022-06-16 | 2022-06-16 | 編碼器與快閃記憶體控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11929764B2 (zh) |
CN (1) | CN117254824A (zh) |
TW (1) | TWI804347B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI487290B (zh) * | 2011-03-29 | 2015-06-01 | Mstar Semiconductor Inc | 用於準循環低密度奇偶校驗碼之再定址解碼器與解碼方法 |
TWI665678B (zh) * | 2017-11-27 | 2019-07-11 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009004572A1 (en) * | 2007-07-04 | 2009-01-08 | Nxp B.V. | Shuffled ldpc decoding |
US10530392B2 (en) * | 2017-07-31 | 2020-01-07 | Codelucida, Inc. | Vertical layered finite alphabet iterative decoding |
WO2019068053A1 (en) * | 2017-09-29 | 2019-04-04 | Cohere Technologies, Inc. | ERROR CORRECTION WITHOUT RETURN CIRCUIT USING LOW DENSITY NON-BINARY PARITY CHECK CODES |
TWI643201B (zh) * | 2017-11-27 | 2018-12-01 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
-
2022
- 2022-06-16 TW TW111122323A patent/TWI804347B/zh active
- 2022-09-15 US US17/945,110 patent/US11929764B2/en active Active
-
2023
- 2023-01-09 CN CN202310028454.9A patent/CN117254824A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI487290B (zh) * | 2011-03-29 | 2015-06-01 | Mstar Semiconductor Inc | 用於準循環低密度奇偶校驗碼之再定址解碼器與解碼方法 |
TWI665678B (zh) * | 2017-11-27 | 2019-07-11 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
Also Published As
Publication number | Publication date |
---|---|
TW202401250A (zh) | 2024-01-01 |
US11929764B2 (en) | 2024-03-12 |
CN117254824A (zh) | 2023-12-19 |
US20230412194A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8640013B2 (en) | Storage device | |
US9553608B2 (en) | Data storage device decoder and method of operation | |
TW202123243A (zh) | 記憶體控制器及快閃記憶體的存取方法 | |
TWI712268B (zh) | 快閃記憶體控制器及其中的編碼電路與解碼電路 | |
US10291258B2 (en) | Error correcting code for correcting single symbol errors and detecting double bit errors | |
US10958292B2 (en) | Encoder, associated encoding method and flash memory controller utilizing divided partial parity blocks for circulant convolution calculations | |
TWI718060B (zh) | 記憶體控制器及快閃記憶體的存取方法 | |
TWI665678B (zh) | 編碼器及相關的編碼方法與快閃記憶體控制器 | |
TWI804347B (zh) | 編碼器與快閃記憶體控制器 | |
TWI684856B (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 | |
TWI711279B (zh) | 編碼器及相關的編碼方法與快閃記憶體控制器 | |
TWI677878B (zh) | 編碼器及相關的編碼方法與快閃記憶體控制器 | |
TWI782341B (zh) | 快閃記憶體控制器及其中的編碼電路 | |
US11876535B1 (en) | Memory controller and method for controlling data in decoding pipeline | |
TWI759672B (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 | |
TWI831333B (zh) | 記憶體控制器及快閃記憶體的存取方法 | |
JP2013201482A (ja) | チェンサーチ回路、復号器、記憶装置およびチェンサーチ方法 |