TW201405568A - 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 - Google Patents
讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 Download PDFInfo
- Publication number
- TW201405568A TW201405568A TW102115971A TW102115971A TW201405568A TW 201405568 A TW201405568 A TW 201405568A TW 102115971 A TW102115971 A TW 102115971A TW 102115971 A TW102115971 A TW 102115971A TW 201405568 A TW201405568 A TW 201405568A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- decoding
- page
- segment
- pages
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- 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
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一種讀取一快閃記憶體中一區塊之資料的方法,其中該區塊包含有複數個資料頁以及至少一校驗頁,每一個資料頁包含有用來儲存資料及其相關的列校驗碼之複數個區段,該校驗頁的每一個區段則分別用來儲存一行校驗碼,該方法包含有:讀取該複數個資料頁中一特定資料頁的資料;對該特定資料頁的資料進行解碼;以及當該特定資料頁中有一特定區段解碼失敗時,循序讀取該複數個資料頁以及該校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
Description
本發明係有關於快閃記憶體(Flash Memory),尤指一種讀取一快閃記憶體中一區塊之資料的方法及相關的記憶裝置。
快閃記憶體可透過電子式的抹除(erase)與寫入/程式化(program)以進行資料儲存,並且廣泛地應用於記憶卡(memory card)、固態硬碟(solid-state drive)與可攜式多媒體播放器等等。由於快閃記憶體係為非揮發性(non-volatile)記憶體,因此,不需要額外電力來維持快閃記憶體所儲存的資訊,此外,快閃記憶體可提供快速的資料讀取與較佳的抗震能力,而這些特性也說明了快閃記憶體為何會如此普及的原因。
快閃記憶體可區分為NOR型快閃記憶體與NAND型快閃記憶體。對於NAND型快閃記憶體來說,其具有較短的抹除及寫入時間且每一記憶體單元需要較少的晶片面積,因而相較於NOR型快閃記憶體,NAND型快閃記憶體會允許較高的儲存密度以及較低之每一儲存位元的成本。一般來說,快閃記憶體係以記憶體單元陣列的方式來儲存資料,而記憶體單元是由一浮動閘極電晶體(floating-gate transistor)來加以實作,且每一記憶體單元可透過適當地控制浮動閘極電晶體之浮動閘極上的電荷個數來設定導通該浮動閘極電晶體所實作之該記憶體單元的所需臨界電壓,進而儲存單一個位元的資訊或者一個位元以上的資訊,如此一來,當一或多個預定控制閘極電壓施
加於浮動閘極電晶體的控制閘極之上,則浮動閘極電晶體的導通狀態便會指示出浮動閘極電晶體中所儲存的一或多個二進位數字(binary digit)。
然而,由於某些因素,快閃記憶體單元中原本儲存的電荷的個數可能會受到影響/擾亂,舉例來說,快閃記憶體中所存在的干擾可能來自於寫入干擾(write/program disturbance)、讀取干擾(read disturbance)及/或保持干擾(retention disturbance)。以具有各自儲存一個位元以上的資訊之記憶體單元的NAND型快閃記憶體為例,一個實體記憶體分頁(physical page)會包含多個邏輯記憶體分頁(logical page),且每一邏輯記憶體分頁係採用一或多個控制閘極電壓來進行讀取。舉例來說,對於一個用以儲存3個位元之資訊的快閃記憶體單元來說,該快閃記憶體單元會具有分別對應不同電荷個數(亦即不同臨界電壓)之8種狀態(亦即電荷位準)的其中之一,然而,由於寫入/抹除次數(program/erase count,P/E count)及/或資料保留時間(retention time)的緣故,快閃記憶體單元中的記憶體單元的臨界電壓分佈(threshold voltage distribution)便會有所改變,因此,使用原本的控制閘極電壓設定(亦即臨界電壓設定)來讀取記憶體單元中所儲存的資訊可能會因為改變後的臨界變壓分佈而無法正確地獲得所儲存的資訊。
上述有關於快閃記憶體單元中的記憶體單元的臨界電壓分佈改變或偏移通常會造成資料讀取上的錯誤,而此一問題可以藉由使用錯誤更正碼(Error Correction Code,ECC)來獲得改善。然而,當快閃記憶體單元重複寫入讀取多次時,快閃記憶體單元中雜訊發生的情況便不再是高斯雜訊分佈,而是發生較強雜訊(亦即,記憶體單元的臨界電壓分佈改變或偏移較大)的機率會高過於發生較低雜訊(亦即,記憶體單元的臨界電壓分佈改變或偏移較小)的機率,因此,由於快閃記憶體單元在重複寫入讀取多次時會很容易有較強雜訊的產生,故也會需要較多位元的錯誤更正碼來更正錯誤資料,
因而造成了快閃記憶體容量的浪費。
因此,本發明的目的之一在於提出一種讀取一快閃記憶體中一區塊之資料的方法與相關的記憶裝置,其中該快閃記憶體中的資料係經由一種特殊編碼方法所產生,以解決習知技術的問題。
依據本發明一實施例,係提供一種讀取一快閃記憶體中一區塊之資料的方法,其中該區塊包含有複數個資料頁以及至少一校驗頁,每一個資料頁包含有複數個區段,該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼,而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼,且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生,該方法包含有:讀取該複數個資料頁中一特定資料頁的資料;對該特定資料頁的資料進行解碼;以及當該特定資料頁中有一特定區段解碼失敗時,循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
依據本發明另一實施例,一種記憶裝置包含有一快閃記憶體以及一控制器,其中該快閃記憶體包含複數個區塊,該複數個區塊中任一區塊所包含有複數個資料頁以及至少一校驗頁,每一個資料頁包含有複數個區段,該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼,而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼,且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生;該控制器,用來讀取該複數個資料頁中一特定資料頁的資料,對該特定資料頁的資料進行解碼,以及當該特定資料頁中有一特定區段解碼失敗時,該控制器循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該
複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
依據本發明另一實施例,係揭露一種記憶裝置之控制器,該控制器係用來存取一快閃記憶體,其中該快閃記憶體包含複數個區塊,該複數個區塊中任一區塊所包含有複數個資料頁以及至少一校驗頁,每一個資料頁包含有複數個區段,該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼,而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼,且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生;該控制器包含有一唯讀記憶體、一微處理器以及一錯誤更正碼單元。該唯讀記憶體用來儲存一程式碼;該微處理器用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊;其中當該錯誤更正碼單元對一特定資料頁的資料進行解碼,且該特定資料頁中有一特定區段解碼失敗時,該錯誤更正碼單元循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體
130‧‧‧錯誤更正碼單元
132‧‧‧第一編碼器
134‧‧‧第二編碼器
136‧‧‧第一解碼器
138‧‧‧第二解碼器
200‧‧‧區塊
400~426‧‧‧步驟
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。
第2圖為第1圖所示之快閃記憶體之一區塊的示意圖。
第3圖為產生第2圖所示之行校驗碼CP_D01與CP_D02的示意圖。
第4A與4B圖為依據本發明一實施例之讀取一快閃記憶體中一區塊之資料的方法的流程圖。
請參考第1圖,第1圖為依據本發明一實施例之一種記憶裝置100
的示意圖,其中本實施例之記憶裝置100尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)。記憶裝置100包含有一快閃記憶體(Flash Memory)120以及一控制器,該控制器可為一記憶體控制器110,且係用來存取快閃記憶體120。依據本實施例,記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取(Access)。此外,控制邏輯114包含有一錯誤更正碼(Error Correcting Code,ECC)單元130,且錯誤更正碼單元130包含有一第一編碼器132、一第二編碼器134、一第一解碼器136以及一第二解碼器138,其中第一編碼器132、第二編碼器134、第一解碼器136以及第二解碼器138中有部分的電路可以是共有的,亦或是彼此之間為獨立的電路。
於典型狀況下,快閃記憶體120包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體120進行複製、抹除、合併資料等運作。其中係以區塊為單位來進行抹除。另外,一區塊可記錄特定數量的資料頁(Page),其中該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,透過微處理器112執行程式碼112C之記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)溝通。
請參考第2圖,第2圖為快閃記憶體120之一區塊200的示意圖,於第2圖中,區塊200包含有192個資料頁P0~P191,其中資料頁P0~P189是用來作為儲存資料及其列校驗碼(row parity)之用,而資料頁P190、P191則是作為校驗頁,用來儲存資料頁P0~P189的行校驗碼(column parity)。詳細來說,當記憶體控制器110需要將資料寫入至快閃記憶體120之一區塊200時,記憶體控制器110中的第一編碼器132會使用一第一編碼方式來將資料逐頁寫入至區塊200中的資料頁P0~P189中,而該第一編碼方式可以為一低密度校驗碼(Low Density Parity Check,LDPC)編碼方式,或是任何其他適合的編碼方式,亦即,記憶體控制器110使用該第一編碼方式來將欲寫入的資料進行編碼以產生資料及其列校驗碼(Data0_0與RP0_0、...、Data0_n與RP0_n、...、Data189_n與RP189_n),並將其逐頁寫入至資料頁P0~P189中,其中一組資料及其列校驗碼(例如Data0_0與RP0_0)構成一個碼字(codeword),亦即作為資料頁中的一個區段(sector)。
等到資料頁P0~P189全部寫入完成後,記憶體控制器110中的第二編碼器134會使用一第二編碼方式來產生資料頁P0~P189的行校驗碼,並將所產生的行校驗碼寫入至校驗頁P190、P191中,其中該第二編碼方式可以為一波西-曹杜立-霍權漢(Bose-Chaudhuri-Hocquenghem,BCH)編碼方式,或是任何其他適合的編碼方式。詳細來說,請參考第3圖,第3圖為產生第2圖所示之行校驗碼CP_D01與CP_D02的示意圖。如第3圖所示,第二編碼器134係以位元為行編碼單位,先將資料頁P0~P189的第一個位元b0_0~b189_0進行編碼以產生列校驗碼CP_D01與CP_D02中的兩個位元b190_0與b191_0,接著,將資料頁P0~P189的第二個位元b0_1~b189_1進行編碼以產生列校驗碼CP_D01與CP_D02中的兩個位元b190_1與b191_1,接著再將資料頁P0~P189的第三個位元b0_2~b189_2進行編碼以產生列校驗碼CP_D01與CP_D02中的兩個位元b190_2與b191_2,...以此類推,記憶體
控制器110便可產生列校驗碼CP_D01(b190_0、b190_1、...)與CP_D02(b191_0、b191_1、...),並將其寫入至校驗頁P190、P191中。
需注意的是,雖然第3圖所示的編碼方式是以“位元”為編碼單位,然而,此並非作為本發明的限制。於本發明之其他實施例中,編碼方式亦可以使用“位元組(byte)”或是其他的位元數量為編碼單位,以使用“位元組”為編碼單位來舉例說明,記憶體控制器110將資料頁P0~P189的第一個位元組進行編碼以產生列校驗碼CP_D01與CP_D02中的兩個位元組,接著將資料頁P0~P189的第二個位元組進行編碼以產生列校驗碼CP_D01與CP_D02中的另兩個位元組、...以此類推。這些設計上的改變均應隸屬於本發明的範疇。
此外,需注意的是上述第2、3圖僅為一範例說明,而並非作為本發明的限制,於本發明之其他實施例中,區塊200所包含之資料頁與校驗頁的數量可以改變,校驗頁的位置也可有所改變,舉例來說,區塊200中的資料頁P95與P191可以被用來作為校驗頁,且校驗頁P95用來儲存資料頁P0~P94的行校驗碼,而校驗頁P191用來儲存資料頁P96~P190的行校驗碼。這些設計上的變化均應隸屬於本發明的範疇。
接著,請參考第4A與4B圖,第4A與4B圖為依據本發明一實施例之讀取一快閃記憶體中一區塊之資料的方法的流程圖。在以下的說明中,係以第2圖所示之區塊200為例,且以資料頁P2作為記憶體控制器110所欲讀取的資料頁。參考第1~4圖,流程敘述如下:於步驟400中,流程開始。於步驟402,記憶體控制器110依據一指令來讀取區塊200中一特定資料頁的資料,亦即讀取資料頁P2中的資
料。於本實施例中,記憶體控制器110所讀取之資料頁P2的資料係為軟資訊(soft information),舉例來說,針對資料頁P2的第一個位元b2_0,記憶體控制器110會讀取相對應的記憶體單元多次(例如7次)以產生一位元序列,而此位元序列則用來作為資料頁P2的第一個位元b2_0的軟資訊,其包含了位元值的可靠度資訊(亦即,該位元序列係用來表示為邏輯“1”的可能性以及為邏輯“0”的可能性)。舉例來說,假設第一個位元b2_0的軟資訊為“1111111”,則表示第一個位元b2_0有最高的可能性是邏輯“1”;假設第一個位元b2_0的軟資訊為“0000000”,則表示第一個位元b2_0有最高的可能性是邏輯“0”,請注意到,可靠度資訊之意義不以此為限。由於“軟資訊”的意義與其表示方式應為本領域中具有通常知識者所熟知,故在此不再贅述。
接著,於步驟404,第一解碼器136對所讀出之資料頁P2的資料進行解碼。於本實施例中,第一解碼器136係對所讀出之資料頁P2的資料進行LDPC解碼,亦即使用每一個區段中的資料與其列校驗碼(例如Data2_0與RP2_0)來解碼出正確的資料(亦即,資料Data2_0中的錯誤可以依據列校驗碼RP2_0來進行更正)。若是第一解碼器136解碼成功,表示資料頁P2中之所有區段中資料的錯誤均可以被更正,因此第一解碼器136便會產生解碼後資料至緩衝記憶體116以進行後續處理,而流程則進入406以結束流程;若是第一解碼器136解碼失敗,則表示資料頁P2中至少有一個區段中的資料可能錯誤的位元數過多,而無法依據其列校驗碼來進行更正,此時流程進入步驟408。
於步驟408中,記憶體控制器110循序讀取區塊200中的所有資料頁P0~P191,且第一解碼器136循序對資料頁P0~P189中的資料進行LDPC解碼。
於步驟410中,針對資料頁P0~P189中的每一個資料頁的每一個
區段,若是解碼成功,則流程進入步驟412以將解碼後的資料儲存至緩衝記憶體116中;若是解碼失敗,則流程進入步驟414,記憶體控制器110重新讀取解碼失敗的區段的原始資料,並將此原始資料(軟資訊)與區段位置儲存至緩衝記憶體116中的一錯誤記錄表格中。舉例來說,假設資料頁P0與資料頁P2的第一個區段發生了解碼失敗的情形,則此時記憶體控制器會重新讀取資料頁P0與P2第一個區段的原始資料(亦即第2圖所示之Data0_0、RP0_0、Data2_0與RP2_0),並將此原始資料儲存於緩衝記憶體116中,且在緩衝記憶體116之該錯誤記錄表格中記錄資料頁P0與P2第一個區段有解碼錯誤的情形。
接著,在步驟416中,第二解碼器138對緩衝記憶體116中所儲存之資料頁P0~P189中每一個資料頁之每一個區段的解碼後資料(於步驟412產生)或是原始資料(於步驟414產生)以及校驗頁P190與P191中的行校驗碼來進行解碼(於本實施例中,係使用BCH解碼方式)。詳細來說,參考第3圖,假設參考錯誤記錄表格後,發現區塊200中只有資料頁P0與P2的第一個區段無法使用第一解碼器136來解碼成功,則此時第二解碼器138首先會對資料頁P0~P189與校驗頁P190~P191中的第一個位元(亦即b0_0、b1_0、b2_0、...、b191_0)進行解碼,並產生一解碼結果,其中該解碼結果係用來指出資料頁P0~P189中的第一個位元是否有錯誤發生。接著,判斷該解碼結果是否指出有錯誤位元發生(步驟418),若是該解碼結果指出沒有錯誤位元發生,則流程進入步驟420以將資料頁P0與P2中的第一個位元b0_0與b2_0的原始資料(儲存於緩衝記憶體116)的可靠度資訊設為最高等級(亦即b0_0與b2_0有很強的可能性是邏輯“1”或“0”,例如將第一個位元b0_0與b2_0的原始資料均設為“1111111”或是“0000000”);若是該解碼結果指出資料頁P0或P2中有錯誤位元發生,則流程進入步驟422以判斷資料頁P0或P2
中的第一個位元b0_0或b2_0的原始資料是否可以修正,若是可以修正,則流程進入步驟424以更正資料頁P0或P2中的第一個位元b0_0與b2_0的原始資料的錯誤,並將其可靠度資訊設為最高等級;若是不可以修正,則流程進入步驟426以維持資料頁P0或P2中的第一個位元b0_0與b2_0的原始資料。
同理,針對資料頁P0~P189與校驗頁P190~P191中的第二個位元(亦即b0_1、b1_1、b2_1、...、b191_1),第二解碼器138會對這些第二個位元進行解碼以產生一解碼結果,之後在經由步驟418~426來決定是否將資料頁P0與P2中的第二個位元b0_1與b2_1的原始資料進行修正或維持原有的值。以此類推,第二解碼器138持續對資料頁P0~P189與校驗頁P190~P191中的資料進行解碼,等到完成資料頁P0~P189與校驗頁P190~P191中最後一個位元的解碼之後,緩衝記憶體116中所儲存的資料頁P0與P2中的第一個區段資料已得到需要的修正,此時,第一解碼器136可再次對緩衝記憶體116中所儲存之資料頁P0與P2中的第一個區段資料來進行LDPC解碼,以得到解碼後的資料。請注意到,類似於編碼時可用位元、位元組或以其他位元數目進行編碼,解碼時亦可用位元、位元組或其他位元數目進行解碼,上述之實施例以單一位元進行解碼,熟悉此項技藝者在本發明之教導之下當得利用其他位元數目進行解碼,此亦為本發明之範疇。
此外,上述第4圖的流程僅為一範例說明,而並非作為本發明的限制。於本發明之一實施例中,記憶體控制器110可以將區塊200中所有資料頁P0~P189的資料均進行LDPC解碼,並將所有解碼失敗的區段均儲存在緩衝記憶體116中,此外,記憶體控制器110使用校驗頁P190~P191中的所有行較驗碼來對區塊200中所有的資料進行BCH解碼,以將儲存緩衝記憶體116中的所有解碼失敗區段的原始資料進行更正;另外,於本發明之一實施
例中,記憶體控制器110可以僅針對需要解碼之特定區段的相對應區段進行LDPC解碼即可,亦即假設使用者只需要資料頁P2第一個區段的資料,且此區段無法被LDPC解碼,則記憶體控制器110可以僅對資料頁P0~P189中的第一個區段的資料進行LDPC解碼,並將解碼失敗的區段儲存在緩衝記憶體116中,之後再用使用校驗頁P190~P191中第一個區段的行較驗碼來對資料頁P0~P189中的第一個區段的資料進行BCH解碼。上述設計上的變化均應隸屬於本發明的範疇。
此外,於本發明之另一實施例中,上述使用第一解碼器136與第二解碼器138來進行解碼的過程可以多次重複操作(iteration),亦即第一解碼器136對資料頁P0~P189的第一個區段進行LDPC解碼,之後第二解碼器138使用校驗頁P190~P191對資料頁P0~P189進行BCH解碼以更正部分的錯誤,之後第一解碼器136再對資料頁P0~P189的第一個區段進行LDPC解碼以產生更多的解碼後資料,接著第二解碼器138再使用校驗頁P190~P191對資料頁P0~P189進行BCH解碼以更正其餘的錯誤...以此類推。如此一來,便可以使得位元錯誤較多的區段可以有更高的機率被更正回來。
簡要歸納本發明,本發明之快閃記憶體區塊中有部分的資料頁係用來作為儲存行校驗碼的校驗頁,且當所欲讀取之一特定資料頁中的資料無法依據列校驗碼來完成解碼/更正時,記憶體控制器會循序讀取其他資料頁以及校驗頁的內容,並使用行校驗碼來更正該特定資料頁的部分內容,以使得該特定資料頁後續可以有更高的機率來完成解碼。
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體
130‧‧‧錯誤更正碼單元
132‧‧‧第一編碼器
134‧‧‧第二編碼器
136‧‧‧第一解碼器
138‧‧‧第二解碼器
Claims (24)
- 一種讀取一快閃記憶體中一區塊(block)之資料的方法,其中該區塊包含有複數個資料頁(page)以及至少一校驗頁,每一個資料頁包含有複數個區段(sector),該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼(row parity),而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼(column parity),且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生,該方法包含有:讀取該複數個資料頁中一特定資料頁的資料;對該特定資料頁的資料進行解碼;以及當該特定資料頁中有一特定區段解碼失敗時,循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
- 如申請專利範圍第1項所述之方法,另包含有:於該特定區段進行錯誤更正之後,對該特定區段的更正後資料進行解碼。
- 如申請專利範圍第1項所述之方法,其中循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正的步驟包含有:對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼,其中若是區段解碼成功,則產生相對應的解碼後資料;將解碼失敗之該特定區段及其原始資料內容紀錄於一儲存單元中;對該複數個區段之該解碼後資料或是該原始資料內容,以及該至少一校 驗頁中對應於該特定區段的一行校驗碼進行解碼,以產生一解碼結果;以及使用該解碼結果以對該特定區段進行錯誤更正。
- 如申請專利範圍第3項所述之方法,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且使用該解碼結果以對該特定區段進行錯誤更正的步驟包含有:當該解碼結果指出該特定區段之一特定位元沒有錯誤時,將該特定位元所對應的位元值可靠度資訊設為最高等級。
- 如申請專利範圍第3項所述之方法,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且使用該解碼結果以對該特定區段進行錯誤更正的步驟包含有:當該解碼結果指出該特定區段之一特定位元具有錯誤,且該特定位元的錯誤可以更正時,更正該特定位元的數值,並將所對應的位元值可靠度資訊設為最高等級。
- 如申請專利範圍第3項所述之方法,其中對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼的步驟包含有:使用一第一解碼方式來對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼;以及對該複數個區段之解碼後資料或是原始資料內容,以及該至少一校驗頁中對應於該特定區段的該行校驗碼進行解碼的步驟包含有:使用異於該第一解碼方式之一第二解碼方式來對該複數個區段之解 碼後資料或是原始資料內容,以及該至少一校驗頁中對應於該特定區段的該行校驗碼進行解碼。
- 如申請專利範圍第6項所述之方法,其中該第一解碼方式係為一軟解碼方式(soft decode),而該第二解碼方式係為一硬解碼方式(hard decode)。
- 如申請專利範圍第6項所述之方法,其中該第一解碼方式係為一低密度校驗碼(Low Density Parity Check,LDPC)解碼方式,而該第二解碼方式係為一波西-曹杜立-霍權漢(Bose-Chaudhuri-Hocquenghem,BCH)解碼方式。
- 一種記憶裝置,其包含有:一快閃記憶體(Flash Memory),其中該快閃記憶體包含複數個區塊,該複數個區塊中任一區塊所包含有複數個資料頁(page)以及至少一校驗頁,每一個資料頁包含有複數個區段(sector),該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼(row parity),而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼(column parity),且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生;以及一控制器,用來讀取該複數個資料頁中一特定資料頁的資料,對該特定資料頁的資料進行解碼,以及當該特定資料頁中有一特定區段解碼失敗時,該控制器循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的部分資料來對該特定區段進行錯誤更正。
- 如申請專利範圍第9項所述之記憶裝置,其中於該特定區段進行錯誤更正之後,該控制器對該特定區段的更正後資料進行解碼。
- 如申請專利範圍第9項所述之記憶裝置,其中該控制器對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼,其中若是區段解碼成功,則產生相對應的解碼後資料;該控制器將解碼失敗之該特定區段及其原始資料內容紀錄於一儲存單元中;該控制器對該複數個區段之該解碼後資料或是該原始資料內容,以及該至少一校驗頁中對應於該特定區段的一行校驗碼進行解碼,以產生一解碼結果;以及該控制器使用該解碼結果以對該特定區段進行錯誤更正。
- 如申請專利範圍第11項所述之記憶裝置,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且當該解碼結果指出該特定區段之一特定位元沒有錯誤時,該控制器將該特定位元所對應的可靠度設為最高等級。
- 如申請專利範圍第11項所述之記憶裝置,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且當該解碼結果指出該特定區段之一特定位元具有錯誤,且該特定位元的錯誤可以更正時,該控制器更正該特定位元的數值,並將所對應的可靠度設為最高等級。
- 如申請專利範圍第11項所述之記憶裝置,其中該控制器使用一第一解碼方式來對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼;以及該控制器使用異於該第一解碼方式之一第二解碼方式來對該複數個區段之解碼後資料或是原始資料內容,以及該至少一校驗頁中對應於該 特定區段的該行校驗碼進行解碼。
- 如申請專利範圍第14項所述之記憶裝置,其中該第一解碼方式係為一軟解碼方式(soft decode),而該第二解碼方式係為一硬解碼方式(hard decode)。
- 如申請專利範圍第14項所述之記憶裝置,其中該第一解碼方式係為一低密度校驗碼(Low Density Parity Check,LDPC)解碼方式,而該第二解碼方式係為一波西-曹杜立-霍權漢(Bose-Chaudhuri-Hocquenghem,BCH)解碼方式。
- 一種記憶裝置之控制器,該控制器係用來存取(Access)一快閃記憶體(Flash Memory),其中該快閃記憶體包含複數個區塊,該複數個區塊中任一區塊所包含有複數個資料頁(page)以及至少一校驗頁,每一個資料頁包含有複數個區段(sector),該複數個資料頁的每一個區段係用來儲存資料及其相關的列校驗碼(row parity),而該至少一校驗頁的每一個區段則分別用來儲存一行校驗碼(column parity),且該行校驗碼係依據該複數個資料頁中每一個資料頁之一區段的內容所產生;該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊;以及一錯誤更正碼單元;其中當該錯誤更正碼單元對一特定資料頁的資料進行解碼,且該特定資料頁中有一特定區段解碼失敗時,該錯誤更正碼單元循序讀取該複數個資料頁以及該至少一校驗頁中所有資料頁的原始資料內容,並依據該複數個資料頁以及該至少一校驗頁中對應於該特定區段之複數個區段中的 部分資料來對該特定區段進行錯誤更正。
- 如申請專利範圍第17項所述之記憶裝置,其中於該特定區段進行錯誤更正之後,該錯誤更正碼單元對該特定區段的更正後資料進行解碼。
- 如申請專利範圍第17項所述之記憶裝置,其中該錯誤更正碼單元對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼,其中若是區段解碼成功,則產生相對應的解碼後資料;該錯誤更正碼單元將解碼失敗之該特定區段及其原始資料內容紀錄於一儲存單元中;該錯誤更正碼單元對該複數個區段之該解碼後資料或是該原始資料內容,以及該至少一校驗頁中對應於該特定區段的一行校驗碼進行解碼,以產生一解碼結果;以及該錯誤更正碼單元使用該解碼結果以對該特定區段進行錯誤更正。
- 如申請專利範圍第19項所述之記憶裝置,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且當該解碼結果指出該特定區段之一特定位元沒有錯誤時,該錯誤更正碼單元將該特定位元所對應的可靠度設為最高等級。
- 如申請專利範圍第19項所述之記憶裝置,其中該儲存單元中所儲存之該特定區段之該原始資料內容係為一軟資訊,該軟資訊包含有該原始資料內容的位元值可靠度資訊,且當該解碼結果指出該特定區段之一特定位元具有錯誤,且該特定位元的錯誤可以更正時,該錯誤更正碼單元更正該特定位元的數值,並將所對應的可靠度設為最高等級。
- 如申請專利範圍第19項所述之記憶裝置,其中該錯誤更正碼單元包含一 第一解碼器以及一第二解碼器,該第一解碼器使用一第一解碼方式來對該複數個資料頁中對應於該特定區段之該複數個區段進行解碼;以及該第二解碼器使用異於該第一解碼方式之一第二解碼方式來對該複數個區段之解碼後資料或是原始資料內容,以及該至少一校驗頁中對應於該特定區段的該行校驗碼進行解碼。
- 如申請專利範圍第22項所述之記憶裝置,其中該第一解碼方式係為一軟解碼方式(soft decode),而該第二解碼方式係為一硬解碼方式(hard decode)。
- 如申請專利範圍第22項所述之記憶裝置,其中該第一解碼方式係為一低密度校驗碼(Low Density Parity Check,LDPC)解碼方式,而該第二解碼方式係為一波西-曹杜立-霍權漢(Bose-Chaudhuri-Hocquenghem,BCH)解碼方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102115971A TWI594254B (zh) | 2012-07-17 | 2013-05-03 | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 |
CN201310298245.2A CN103544073B (zh) | 2012-07-17 | 2013-07-16 | 读取闪存中区块的数据的方法及相关的记忆装置 |
US13/943,755 US9195539B2 (en) | 2012-07-17 | 2013-07-16 | Method for reading data from block of flash memory and associated memory device |
KR1020140042807A KR101576102B1 (ko) | 2013-05-03 | 2014-04-10 | 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261672749P | 2012-07-17 | 2012-07-17 | |
TW102115971A TWI594254B (zh) | 2012-07-17 | 2013-05-03 | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201405568A true TW201405568A (zh) | 2014-02-01 |
TWI594254B TWI594254B (zh) | 2017-08-01 |
Family
ID=49947614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102115971A TWI594254B (zh) | 2012-07-17 | 2013-05-03 | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9195539B2 (zh) |
KR (1) | KR101576102B1 (zh) |
CN (1) | CN103544073B (zh) |
TW (1) | TWI594254B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI703436B (zh) * | 2015-12-09 | 2020-09-01 | 韓商愛思開海力士有限公司 | 資料儲存裝置及其操作方法 |
TWI727372B (zh) * | 2018-07-19 | 2021-05-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
TWI740009B (zh) * | 2017-05-08 | 2021-09-21 | 南韓商三星電子股份有限公司 | 編碼機制及其編碼方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102204390B1 (ko) * | 2014-09-12 | 2021-01-18 | 삼성전자주식회사 | 빠른 불량 셀 구제 동작의 메모리 장치 |
US9965345B2 (en) | 2014-09-24 | 2018-05-08 | Macronix International Co., Ltd. | Health management of non-volatile memory |
US20160179611A1 (en) * | 2014-12-23 | 2016-06-23 | Thuyen Le | Low overhead error checking and correction apparatus and method |
JP2016143085A (ja) * | 2015-01-29 | 2016-08-08 | 株式会社東芝 | 装置及び方法 |
KR101653999B1 (ko) * | 2015-04-02 | 2016-09-09 | 서울시립대학교 산학협력단 | 낸드 플래시 기반의 스토리지 시스템 및 데이터 보존 강화 방법 |
CN106297881B (zh) * | 2015-05-27 | 2020-09-11 | 旺宏电子股份有限公司 | 非挥发性存储器的健康管理 |
CN104932951B (zh) * | 2015-07-12 | 2017-09-05 | 符方晓 | 一种nand闪存出现ecc无法纠错时的数据恢复方法 |
TWI575530B (zh) * | 2015-08-06 | 2017-03-21 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
CN105575439B (zh) * | 2015-12-15 | 2020-04-28 | 山西长河科技股份有限公司 | 一种存储单元失效纠错的方法及存储器 |
KR102500616B1 (ko) * | 2016-02-26 | 2023-02-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN112214348B (zh) * | 2016-04-27 | 2023-08-29 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN111951855B (zh) * | 2016-04-27 | 2022-05-10 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
CN112463433B (zh) * | 2016-04-27 | 2024-03-29 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
JP6473733B2 (ja) | 2016-12-13 | 2019-02-20 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置およびその動作設定方法 |
US10521296B2 (en) * | 2018-02-20 | 2019-12-31 | Micron Technology, Inc. | Performing an additional decoding operation on an identified set of bits of a data block |
TWI658364B (zh) * | 2018-03-20 | 2019-05-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
WO2020107301A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 一种编码方法、译码方法以及存储控制器 |
CN112133362B (zh) * | 2019-06-25 | 2023-05-16 | 华邦电子股份有限公司 | 存储器存储装置及其存储器测试方法 |
CN113296682B (zh) * | 2020-02-24 | 2023-06-06 | 北汽福田汽车股份有限公司 | 整车控制器的数据读取和写入方法 |
US11764813B1 (en) * | 2022-06-07 | 2023-09-19 | Western Digital Technologies, Inc. | Extendable parity code matrix construction and utilization in a data storage device |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2447204C (en) * | 2002-11-29 | 2010-03-23 | Memory Management Services Ltd. | Error correction scheme for memory |
US7197594B2 (en) * | 2003-09-23 | 2007-03-27 | Infineon Technologies Flash Gmbh & Co. Kg | Circuit, system and method for encoding data to be stored on a non-volatile memory array |
US7647536B2 (en) * | 2005-12-30 | 2010-01-12 | Intel Corporation | Repair bits for a low voltage cache |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US7818653B2 (en) * | 2006-09-28 | 2010-10-19 | Sandisk Corporation | Methods of soft-input soft-output decoding for nonvolatile memory |
US8001441B2 (en) * | 2006-11-03 | 2011-08-16 | Sandisk Technologies Inc. | Nonvolatile memory with modulated error correction coding |
US8051358B2 (en) * | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
US8046542B2 (en) * | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
TWI354999B (en) * | 2007-12-26 | 2011-12-21 | Macronix Int Co Ltd | Memory module and writing and reading method there |
JP4643667B2 (ja) * | 2008-03-01 | 2011-03-02 | 株式会社東芝 | メモリシステム |
US8719670B1 (en) * | 2008-05-07 | 2014-05-06 | Sk Hynix Memory Solutions Inc. | Coding architecture for multi-level NAND flash memory with stuck cells |
US8429498B1 (en) * | 2009-03-25 | 2013-04-23 | Apple Inc. | Dual ECC decoder |
US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
JP2011065599A (ja) * | 2009-09-18 | 2011-03-31 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
KR101633048B1 (ko) * | 2010-02-25 | 2016-06-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
US20110286271A1 (en) * | 2010-05-21 | 2011-11-24 | Mediatek Inc. | Memory systems and methods for reading data stored in a memory cell of a memory device |
US8656263B2 (en) * | 2010-05-28 | 2014-02-18 | Stec, Inc. | Trellis-coded modulation in a multi-level cell flash memory device |
US20120240007A1 (en) * | 2010-10-20 | 2012-09-20 | Stec, Inc. | Ldpc decoding for solid state storage devices |
-
2013
- 2013-05-03 TW TW102115971A patent/TWI594254B/zh active
- 2013-07-16 CN CN201310298245.2A patent/CN103544073B/zh active Active
- 2013-07-16 US US13/943,755 patent/US9195539B2/en active Active
-
2014
- 2014-04-10 KR KR1020140042807A patent/KR101576102B1/ko active IP Right Grant
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI703436B (zh) * | 2015-12-09 | 2020-09-01 | 韓商愛思開海力士有限公司 | 資料儲存裝置及其操作方法 |
TWI740009B (zh) * | 2017-05-08 | 2021-09-21 | 南韓商三星電子股份有限公司 | 編碼機制及其編碼方法 |
TWI727372B (zh) * | 2018-07-19 | 2021-05-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
US11086567B2 (en) | 2018-07-19 | 2021-08-10 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11099781B2 (en) | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11256425B2 (en) | 2018-07-19 | 2022-02-22 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11494086B2 (en) | 2018-07-19 | 2022-11-08 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11494085B2 (en) | 2018-07-19 | 2022-11-08 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
Also Published As
Publication number | Publication date |
---|---|
KR20140131261A (ko) | 2014-11-12 |
TWI594254B (zh) | 2017-08-01 |
US20140026018A1 (en) | 2014-01-23 |
CN103544073A (zh) | 2014-01-29 |
US9195539B2 (en) | 2015-11-24 |
CN103544073B (zh) | 2016-08-17 |
KR101576102B1 (ko) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI594254B (zh) | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 | |
US9063875B2 (en) | Error recovery storage along a memory string | |
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US8065583B2 (en) | Data storage with an outer block code and a stream-based inner code | |
US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
TWI514388B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
US20130227374A1 (en) | Erasure correction using single error detection parity | |
JP2008165805A (ja) | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム | |
US20090265598A1 (en) | Using programming-time information to support error correction | |
US10691538B2 (en) | Methods and apparatuses for error correction | |
CN106297883B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN111415692B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
US10685711B1 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
TWI576847B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
CN105304142A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN111435604B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 |