TWI505086B - 具有可擴展管線誤差修正之非揮發性記憶體控制器 - Google Patents

具有可擴展管線誤差修正之非揮發性記憶體控制器 Download PDF

Info

Publication number
TWI505086B
TWI505086B TW099131875A TW99131875A TWI505086B TW I505086 B TWI505086 B TW I505086B TW 099131875 A TW099131875 A TW 099131875A TW 99131875 A TW99131875 A TW 99131875A TW I505086 B TWI505086 B TW I505086B
Authority
TW
Taiwan
Prior art keywords
memory
volatile memory
ecc block
clock signal
ecc
Prior art date
Application number
TW099131875A
Other languages
English (en)
Other versions
TW201133230A (en
Inventor
Steven S Cheng
Aruna Gutta
Original Assignee
Sandisk Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201133230A publication Critical patent/TW201133230A/zh
Application granted granted Critical
Publication of TWI505086B publication Critical patent/TWI505086B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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

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)

Description

具有可擴展管線誤差修正之非揮發性記憶體控制器
本發明係關於非揮發性記憶體及記憶體控制器。特定而言,本申請案係關於對寫入至一非揮發性記憶體或自一非揮發性記憶體讀取之資料執行誤差修正寫碼(ECC)之非揮發性記憶體控制器。
非揮發性記憶體系統用於各種應用中。一些非揮發性記憶體系統(例如)作為一固態驅動器(SSD)嵌入於一較大系統(諸如一個人電腦)中。其他非揮發性記憶體系統以可抽換方式連接至一主機系統且可在不同主機系統之間互換。此等可抽換式非揮發性記憶體系統之實例包括記憶卡、USB快閃驅動器及可抽換SSD。已根據許多熟知標準在商業上實施包括非揮發性記憶卡之電子電路卡。記憶卡可用於個人電腦、蜂巢式電話、個人數位助理(PDA)、數位相機、數位攝影機、可攜式音訊播放器及其它主機電子裝置中以供儲存大量資料。此等卡通常含有一可重新程式化之非揮發性半導體記憶體單元格陣列以及一控制器,該控制器控制並支持該記憶體單元格陣列之操作且與該卡連接至的一主機介接。若干個相同類型之卡可在經設計以接納彼類型之卡之一主機卡插槽中互換。然而,諸多電子卡標準之開發已產生了不同類型之卡,該等卡在不同程度上彼此互不相容。根據一種標準製造之一卡通常不可用於經設計以與另一標準之卡一起運作之一主機中。記憶卡標準包括PC卡、CompactFlashTM 卡(CFTM 卡)、SmartMediaTM 卡、MultiMediaCard(MMCTM )、安全數位(SD)卡、一miniSDTM 卡、用戶身份模組(SIM)、Memory StickTM 、Memory Stick Duo卡及microSD/TransFlashTM 記憶體模組標準。存在以SanDisk公司之商標「Cruzer」可在市場上自該公司購得之若干種USB快閃驅動器產品。USB快閃驅動器通常比上述記憶卡大且呈不同於上述記憶卡之形狀。
不同類型之記憶體陣列架構用於非揮發性記憶體系統中。在一種類型之架構中,一NAND陣列,多於兩個(諸如16個或32個)之記憶體單元格構成之一系列串連同一個或多個選擇電晶體連接於個別位元線與一參考電位之間以形成單元格行。字線跨越大量彼等行內之單元格而延伸。
在一普通配置中,一記憶體控制器對寫入至一非揮發性記憶體陣列及自一非揮發性記憶體陣列讀取之資料執行誤差修正寫碼(「ECC」)功能。在此說明書中通篇使用術語ECC來指代根據一特定程式碼之資料編碼及解碼兩者,其中解碼至少包括偵測誤差且亦可包括修正ECC可修正誤差。圖1顯示先前技術之一可抽換式非揮發性記憶體系統100之一實例,其包括通過一記憶體匯流排106與兩個記憶體晶片104a、104b通信之一記憶體控制器102。該控制器亦與一主機介面108通信,該主機介面以一標準化方式提供至一主機的一連接。記憶體控制器102形成於與非揮發性記憶體晶片分開之一專門晶片或專用積體電路(「ASIC」)上。該控制器對傳入及傳出該等記憶體陣列之資料執行ECC功能。舉例而言,當自一主機接收資料以儲存於該記憶體陣列中時,該控制器可執行ECC編碼,該ECC編碼在資料儲存於該記憶體陣列中之前通常將一定位準之冗餘添加至該資料。隨後,當自該記憶體陣列讀取該資料時,解碼該資料以獲得原始資料。可偵測並修正該資料中之誤差(在一定範圍內)。在一些記憶體中,此等ECC功能可造成影響總系統效能之一瓶頸。
一非揮發性記憶體系統之一實例包括具有以並列方式單獨對資料執行ECC操作之兩個或多個單獨ECC區塊之一記憶體控制器。用於每一ECC區塊之資料可來自一不同的記憶體介面。可使用相對低的時鐘速度來運行ECC區塊以使得ECC電路不一定需要被設計成能滿足較高時鐘速度所需要之要求較高的標準。ECC區塊亦可與以相對緩慢的速度運作之其他記憶體控制器組件分享時鐘信號,該等其他記憶體控制器組件可包括記憶體介面。其他較高頻率之時鐘信號可被提供至諸如該主機介面之此等組件。
根據一實施例,一可抽換式非揮發性記憶體系統包括:一第一非揮發性記憶體晶片;一第二非揮發性記憶體晶片;一控制器晶片,其具有與該第一記憶體晶片通信之一第一記憶體介面及與該第二記憶體晶片通信之一第二記憶體介面,該第一記憶體介面連接至專用於該第一記憶體介面之一第一誤差修正寫碼(「ECC」)區塊,且該第二記憶體介面連接至專用於該第二記憶體介面之一第二ECC區塊;及一主機介面,其與該第一ECC區塊及該第二ECC區塊兩者通信。
一可抽換式非揮發性記憶體系統可含納於一記憶卡中,例如具有符合以下標準中之一者之一主機介面之一記憶卡:PC卡、CompactFlash卡、SmartMedia卡、MultiMediaCard、安全數位卡、一miniSD卡、用戶身份模組、Memory Stick、Memory Stick Duo卡、microSD/TransFlash、AT-Attachment(ATA)、串列ATA(SATA)、並行ATA(PATA)、周邊組件互連(PCI)、mini-PCI或火線。可抽換式非揮發性記憶體可含納於一通用串列匯流排(「USB」)快閃驅動器中,或可形成一固態驅動器。一可抽換式非揮發性記憶體系統可使用NAND快閃記憶體晶片。一可抽換式非揮發性記憶體系統可包括提供至第一ECC區塊及第二ECC區塊之一第一時鐘信號;及提供至主機介面之一第二時鐘信號,該第二時鐘信號具有比該第一時鐘信號高之一頻率。
根據一實施例,一種在一可抽換式非揮發性記憶體系統中執行誤差修正之方法包括:自可抽換式非揮發性記憶體系統中之一第一非揮發性記憶體晶片接收一第一經編碼資料串流;將該第一經編碼資料串流提供至該可抽換式非揮發性記憶體系統中之一控制器晶片上之一第一誤差修正寫碼(「ECC」)區塊;在該第一ECC區塊中解碼該第一資料串流以獲得一第一經解碼資料串流;將該第一經解碼資料串流提供至該可抽換式非揮發性記憶體系統之一主機介面;自該可抽換式非揮發性記憶體系統中之一第二非揮發性記憶體晶片接收一第二經編碼資料串流;將該第二經編碼資料串流提供至該控制器晶片上之一第二ECC區塊;在該第二ECC區塊中解碼該第二資料串流以獲得一第二經解碼資料串流;及將該第二經解碼資料串流提供至該主機介面。
一種在一可抽換式非揮發性記憶體系統中執行誤差修正之方法亦可包括:將一第一時鐘信號提供至該第一ECC區塊及該第二ECC區塊;及將一第二時鐘信號提供至該主機介面,將該第一時鐘信號提供至該第一非揮發性記憶體晶片與該第一ECC區塊之間的一第一記憶體介面;及將該第一時鐘信號提供至該第二非揮發性記憶體晶片與該第二ECC區塊之間的一第二記憶體介面。該第二時鐘信號與該第一時鐘信號相比可係一更高頻率之時鐘信號。該主機介面可根據以下標準中之一者與一主機通信:通用串列匯流排(USB)、PC卡、CompactFlash卡、SmartMedia卡、MultiMediaCard、安全數位卡、一miniSD卡、用戶身份模組、Memory Stick、Memory Stick Duo卡或microSD/TransFlash。
根據一實施例,一記憶體控制器包括:一第一記憶體輸入/輸出;與該第一記憶體輸入/輸出通信之一第一誤差修正寫碼(「ECC」)區塊;一第二記憶體輸入/輸出;與該第二記憶體輸入/輸出通信之一第二ECC區塊;及與該第一ECC區塊及該第二ECC區塊通信之一主機介面。
一記憶體控制器可進一步包括:以一第一頻率提供一第一時鐘信號之一第一時鐘,該第一時鐘信號被提供至該第一ECC區塊及該第二ECC區塊;及以一第二頻率提供一第二時鐘信號之一第二時鐘,該第二時鐘信號被提供至該主機介面。該第二頻率可比該第一頻率高。該第一時鐘信號亦可被提供至該第一記憶體輸入/輸出及該第二記憶體輸入/輸出。
一記憶體控制器可包含:一記憶體輸入/輸出;與該記憶體輸入/輸出連接之一第一誤差修正寫碼(「ECC」)區塊;與該記憶體輸入/輸出連接之一第二ECC區塊;及與該第一ECC區塊及該第二ECC區塊通信之一主機介面。
對照顯示具有一單個記憶體介面108(有時稱作一快閃介面模組或「FIM」)之一先前技術記憶體控制器之圖1之配置,圖2顯示具有兩個記憶體介面212a、212b之一記憶體控制器210。顯示每一記憶體介面提供至一不同的記憶體匯流排214a、214b的一連接,其中每一匯流排具有兩個記憶體晶粒216a至216d。記憶體控制器210亦包括連接至記憶體系統200之主機介面220之主機介面218。然而,可能存在具有不同數目之介面且每匯流排具有不同數目之記憶體晶粒之其他配置。圖2之配置可藉由允許一較高度的並行性而便於較高速地存取記憶體陣列。換言之,兩個記憶體介面可並行傳送資料,因此針對一給定匯流排大小加倍傳送速度。在一個實例中,每一記憶體匯流排具有16個位元之一匯流排寬度,以使得並行使用兩個此等匯流排提供一32位元寬的匯流排之等效匯流排,而不需要為32位元存取而設計之記憶體晶片(亦即,可使用具有16位元存取之較便宜的記憶體晶片)。
為改良效能,一記憶體控制器之主機介面及一記憶體系統之介面部分可使用為高速而設計之協定。舉例而言,漸增的較高時鐘速度用於主機介面中以使得資料可通過一給定匯流排寬度快速地傳送。使用一高速主機介面及並行記憶體介面之此一系統中之一個潛在瓶頸在於該控制器自身內。特定而言,該主機與該記憶體陣列之間的資料傳遞之一個潛在瓶頸在於可作為此傳送之部分而執行之ECC操作。儘管寫入此資料所涉及之ECC操作具有相對可預測性,但讀取此資料所涉及之ECC操作並非如此具有可預測性,此乃因其相依於自該記憶體陣列讀取之任一資料中之誤差之數目。若幾乎不存在誤差或不存在任何誤差,則此解碼可相對快。然而,若存在諸多誤差,則偵測並修正此等誤差可頗耗費時間。一般而言,記憶體系統經設計以在一特定時間週期(例如,保質期或某一其他週期)內確保一特定效能。至少在該產品之保質期內,此時間內之記憶體降級可具有相對可預測性且一ECC方案可經設計以針對所預測之誤差密度提供規定的效能。然而,提供此效能之成本可頗高。
圖3顯示包括一高速主機介面332及多個(兩個)記憶體介面334a、334b之一記憶體控制器330之一個實例。在此實例中,一單個ECC區塊336用以解碼自記憶體陣列讀取之所有資料。為使用此一ECC區塊(解碼來自兩個記憶體介面之資料)達到一規定的效能位準,可需要一相對高的時鐘速度。若該ECC區塊並非正以一足夠高的時鐘速度運作,則其不足夠快速地解碼資料,且變成該記憶體陣列與該主機之間的一瓶頸。
圖4A顯示良好匹配至其連接至的主機介面及記憶體介面之一ECC區塊之一時序圖。資料部分係自兩個不同的介面(FIM0及FIM1)接收。資料由ECC解碼器一次一個部分地解碼,且作為輸出資料由主機介面輸出。該ECC區塊以一高速運作以便在小於將資料輸出至該主機之時間(tFE)之一時間(tECC)中解碼一資料部分。在此情形中,該單個ECC區塊能夠處置來自兩個不同的FIM之資料之解碼,且因此相比解碼僅來自一個FIM之資料之一ECC區塊(諸如圖1中所顯示)須以一更高速運作。所顯示之資料部分係解碼單元,有時稱作資料區塊,且一次一個區塊地執行解碼之寫碼方案可被認為係區塊程式碼。此一區塊之一實例係2千位元組之資料。
圖4B顯示產生該記憶體陣列與該主機之間的一瓶頸之一ECC區塊之一時序圖。此處,ECC解碼一資料部分比將該資料自該記憶體陣列傳送至該ECC區塊(tBE)或將該資料自該ECC區塊傳送至該主機(tFE)花費更長的時間(tECC)。舉例而言,替代連續輸出資料,該資料輸出時序指示由於在該ECC區塊中之延遲所致的在輸出資料之部分之間的間隙(tECC至tFE)。用於此實例中之該單個ECC區塊不能滿足兩個FIM所供應之資料的需要且此致使資料以比該介面能夠處置之速度緩慢的一速度輸出。
應注意,ECC解碼中之差異(諸如圖4A與圖4B之間)由於來自該記憶體陣列之資料中之誤差之數目增加可發生在以同一速度運作於同一記憶體系統中之同一ECC區塊中。舉例而言,圖4A之匹配可發生在一記憶體系統之生命週期的早期,而圖4B之延遲隨著自該記憶體陣列讀取之資料中之誤差之數目增加而發生於該生命週期的後期。在一ECC區塊欲在其整個預計生命週期中提供充足效能之情形下,該ECC區塊可需要以高速運作,此可需要可以高速運作之昂貴的硬體。此等高速電路可不易逐代升級(亦即,在每一次ECC電路需要以一增加的時鐘速度運作時,可需要一些重大的設計工作)。亦應注意,該等圖顯示在每一實例中ECC操作具有均勻持續時間(tECC)(但自一個實例至下一實例有不同的持續時間)。然而,在實際記憶體中,一個資料部分與下一資料部分之資料解碼時間可不同。舉例而言,一特定實體區域可具有某一磨損或損壞,該磨損或損壞在資料自彼區域被讀取時造成誤差。此資料與作為同一讀取操作之部分而被讀取之來自另一區域(即使係一實體毗鄰區域)之資料相比可花費更長的解碼時間。ECC區塊通常經設計以應付作最壞打算的情況。
圖5顯示具有兩個ECC區塊552a、552b之一記憶體控制器550之一替代性實例,每一ECC區塊解碼來自兩個記憶體介面554a、554b中之一者之資料。在此配置中,每一ECC區塊專用於來自一單個記憶體介面之資料。在此一配置中,每一ECC區塊以圖3之ECC區塊所需要之速率的一半來解碼資料。此可意指一個別ECC區塊可經設計以滿足不那麼嚴格之要求且因此可較便宜地製造。舉例而言,在主機介面以166 MHz運作且該等記憶體介面中之每一者以80 MHz運作之情形下,該等個別ECC區塊可以80 MHz運作。
圖6係顯示圖5之記憶體控制器550之雙ECC區塊配置之效能之一時序圖。在此實例中,相對緩慢的ECC操作不產生任何瓶頸,此乃因該兩個ECC區塊(ECC0及ECC1)並行運作。一個ECC區塊專用於每一FIM,ECC0專用於FIM0且ECC1專用於FIM1。在一初始週期期間,僅FIM0及ECC0正在運作且主機介面正以小於全容量(如資料輸出中之間隙所顯示之約一半容量)運作。然後,當FIM1及ECC1開始將資料提供至該介面時,該介面以全容量運作。來自兩個不同流(分別與FIM0及FIM1有關聯)之資料在輸出資料中交錯。儘管針對一特定資料部分執行ECC之時間(tECC)超過輸出該資料之時間(tFE),此乃因存在並行運作之兩個ECC區塊,但總資料解碼以與資料發送至主機大約相同的速度而發生。因此,即使每一ECC區塊個別地緩慢運作(以使得單獨一個ECC區塊將造成一瓶頸),但該兩個ECC區塊之組合足以滿足該等介面之速度。
本發明不限於ECC區塊與記憶體介面之間的一對一對應,且可包括各種其他配置。舉例而言,圖7A顯示一記憶體控制器770之一實例,其中兩個ECC區塊772a、772b各自解碼來自具有四個記憶體介面774a至774d之一記憶體控制器中之兩個ECC介面774a至774d之資料。儘管此一配置中之ECC區塊可比提供四個單獨ECC區塊之情形(例如,每一記憶體介面一個ECC區塊)更快地運作,但此等ECC區塊仍可以比使用一單個ECC區塊之情形將所需要之時鐘速度低的一時鐘速度運作。
在圖7B中所顯示之另一實例中,一記憶體控制器771包括兩者均連接至同一記憶體介面775之兩個單獨ECC區塊773a、773b。在此實例中兩個ECC區塊773a、773b並行運作以處理傳入及傳出記憶體介面775(及傳入/傳出主機介面777)之資料。此可具有優於使用一單個ECC區塊之一些優點。舉例而言,根據一先前存在之設計之一ECC區塊可用於高速介面中,該高速介面若由一單個ECC區塊服務則將需要一重新設計之ECC區塊。藉由具有並行運作之兩個或多個ECC區塊可提供一些冗餘。
除了在重新設計ECC區塊來以更高速運作方面節約成本之外,本發明之態樣可允許一單個時鐘信號用於同一晶片上之許多組件中,此通常要比給多個組件提供多個不同的時鐘信號更便宜。舉例而言,在一些情形中,該ECC區塊可與該記憶體介面使用相同的時鐘信號,而該主機介面可使用一更高速之時鐘信號。替代重新設計一ECC區塊來以該主機介面之增加的速度運作,該ECC區塊可在一個或多個額外ECC區塊提供額外容量以匹配該高速主機介面之情形下繼續以一較低速運作。
圖8顯示針對具有兩個ECC區塊882a、882b之一記憶體控制器880中之時鐘信號之一種可能配置。一第一時鐘信號CLK1分佈至記憶體介面884a、884b及兩個ECC區塊882a、882b。一第二時鐘信號CLK2用於主機介面886中。CLK2可以比CLK1高的一頻率運作。舉例而言,CLK2可以166 MHz運作而CLK1以100 MHz運作。在一單個ECC區塊中以同一速度執行ECC解碼可需要一ECC區塊以200 MHz運作。因此,藉由以較低頻率運作,該等ECC區塊可允許與該等記憶體介面共享一時鐘信號且此減小用於該記憶體控制器中不同時鐘信號之數目。
本發明可應用至各種不同的ECC技術且不限於任一特定編碼/解碼方案。以上實例顯示作為一單元而被解碼之資料區塊。在一些實例中,此一單元包含2千位元組(KB)之資料。可使用可修正此一2 KB區塊中多達42個誤差位元同時維持所需要之效能之一ECC方案。針對不同的效能要求可使用不同的ECC方案。一基於區塊之ECC方案可使用李德-所羅門或其他熟知的編碼方案。另一選擇為,可使用卷積寫碼或其他方案。美國專利7,546,515號及美國專利公開案2008/0092026及2007/0266295號中闡述非揮發性記憶體系統中ECC編碼/解碼方案之額外實例及此等ECC方案之實施方式。
本文中所引用之所有專利、專利申請案、論文、書籍、說明書、其他出版物、文件及事物之其全部內容出於所有目的藉此以引用方式併入本文中。在所併入之出版物、文件或事物中之任一者與本文件之文本之間的一術語之定義或使用有任何不一致或衝突方面,本文件中術語之定義或使用將具有普遍性。
儘管已關於某些較佳實施例對本發明之各種態樣進行了闡述,但應理解,本發明有權在隨附申請專利範圍之整個範疇內受到保護。
100...可抽換式非揮發性記憶體系統
102...記憶體控制器
104a...記憶體晶片
104b...記憶體晶片
106...記憶體匯流排
108...主機介面
200...記憶體系統
210...記憶體控制器
212a...記憶體介面
212b...記憶體介面
214a...記憶體匯流排
214b...記憶體匯流排
216a...記憶體晶粒
216b...記憶體晶粒
216c...記憶體晶粒
216d...記憶體晶粒
218...主機介面
220...主機介面
330...記憶體控制器
332...主機介面
334a...記憶體介面
334b...記憶體介面
336...ECC區塊
550...記憶體控制器
552a...ECC區塊
552b...ECC區塊
554a...記憶體介面
554b...記憶體介面
770...記憶體控制器
771...記憶體控制器
772a...ECC區塊
772b...ECC區塊
773a...ECC區塊
773b...ECC區塊
774a...記憶體介面
774b...記憶體介面
774c...記憶體介面
774d...記憶體介面
775...記憶體介面
777...主機介面
880...記憶體控制器
882a...ECC區塊
882b...ECC區塊
884a...記憶體介面
884b...記憶體介面
886...主機介面
圖1顯示一先前技術可抽換式非揮發性記憶體系統;
圖2顯示一可抽換式非揮發性記憶體系統,其包括兩個記憶體匯流排及針對每一匯流排具有一介面之一記憶體控制器;
圖3顯示具有服務兩個記憶體介面之一單個ECC區塊之一記憶體控制器之一實例;
圖4A顯示在最優條件下運作之一記憶體控制器之一時序圖;
圖4B顯示在非最優條件下運作之一記憶體控制器之一時序圖;
圖5顯示具有各自服務一不同的記憶體介面之兩個ECC區塊之一記憶體控制器之一實例;
圖6顯示圖5之記憶體控制器之一時序圖;
圖7A顯示其中兩個ECC區塊各自服務四-介面配置中之兩個記憶體介面之一替代性配置;
圖7B顯示其中兩個ECC區塊服務一單個記憶體介面之一替代性配置;及
圖8顯示一記憶體控制器,其具有將兩個不同的時鐘信號提供至該記憶體控制器之不同部分之兩個時鐘。
550...記憶體控制器
552a...ECC區塊
552b...ECC區塊
554a...記憶體介面
554b...記憶體介面

Claims (11)

  1. 一種可抽換式非揮發性記憶體系統,其包含:一第一非揮發性記憶體晶片;一第二非揮發性記憶體晶片;一控制器晶片,其具有與該第一非揮發性記憶體晶片以通信方式耦合之一第一記憶體介面及與該第二非揮發性記憶體晶片以通信方式耦合之一第二記憶體介面,該第一記憶體介面連接至專用於該第一記憶體介面之一第一誤差修正寫碼(「ECC」)區塊,且該第二記憶體介面連接至專用於該第二記憶體介面之一第二ECC區塊;一主機介面,其與該第一ECC區塊及該第二ECC區塊兩者以通信方式耦合;一第一時鐘信號,其被提供至該第一ECC區塊及該第二ECC區塊;及一第二時鐘信號,其被提供至該主機介面,該第二時鐘信號具有比該第一時鐘信號高之一頻率。
  2. 如請求項1之可抽換式非揮發性記憶體系統,其進一步包含一可抽換式非揮發性記憶體,其中該可抽換式非揮發性記憶體含納於一記憶卡中。
  3. 如請求項2之可抽換式非揮發性記憶體系統,其中該主機介面符合以下標準中之一者:PC卡、CompactFlash卡、SmartMedia卡、MultiMediaCard、安全數位卡、一miniSD卡、用戶身份模組、Memory Stick、Memory Stick Duo卡或microSD/TransFlash。
  4. 如請求項1之可抽換式非揮發性記憶體系統,其進一步包含一可抽換式非揮發性記憶體,其中該可抽換式非揮發性記憶體含納於一通用串列匯流排(「USB」)快閃驅動器中。
  5. 如請求項1之可抽換式非揮發性記憶體系統,其進一步包含一非揮發性記憶體,其中該非揮發性記憶體形成一固態驅動器。
  6. 如請求項1之可抽換式非揮發性記憶體系統,其中該第一及第二非揮發性記憶體晶片係NAND快閃記憶體晶片。
  7. 一種在一可抽換式非揮發性記憶體系統中執行誤差修正之方法,其包含:自該可抽換式非揮發性記憶體系統中之一第一非揮發性記憶體晶片接收一第一經編碼資料串流;將該第一經編碼資料串流提供至該可抽換式非揮發性記憶體系統中之一控制器晶片上之一第一誤差修正寫碼(「ECC」)區塊;解碼在該第一ECC區塊中之該第一經編碼資料串流以獲得一第一經解碼資料串流;將該第一經解碼資料串流提供至該可抽換式非揮發性記憶體系統之一主機介面;自該可抽換式非揮發性記憶體系統中之一第二非揮發性記憶體晶片接收一第二經編碼資料串流;將該第二經編碼資料串流提供至該控制器晶片上之一 第二ECC區塊;解碼在該第二ECC區塊中之該第二經編碼資料串流以獲得一第二經解碼資料串流;將該第二經解碼資料串流提供至該主機介面;將一第一時鐘信號提供至該第一ECC區塊及該第二ECC區塊;及將一第二時鐘信號提供至該主機介面,其中該第二時鐘信號與該第一時鐘信號相比係一更高頻率之時鐘信號。
  8. 如請求項7之方法,其進一步包含:將該第一時鐘信號提供至該第一非揮發性記憶體晶片與該第一ECC區塊之間的一第一記憶體介面;及將該第一時鐘信號提供至該第二非揮發性記憶體晶片與該第二ECC區塊之間的一第二記憶體介面。
  9. 如請求項7之方法,其中該主機介面根據以下標準中之一者與一主機通信:通用串列匯流排(USB)、PC卡、CompactFlash卡、SmartMedia卡、MultiMediaCard、安全數位卡、一miniSD卡、用戶身份模組、Memory Stick、Memory Stick Duo卡、microSD/TransFlash、AT-Attachment(ATA)、串列ATA(SATA)、並行ATA(PATA)、周邊組件互連(PCI)、mini-PCI或火線。
  10. 一種記憶體控制器,其包含:一第一記憶體輸入/輸出;一第一誤差修正寫碼(「ECC」)區塊,其與該第一記 憶體輸入/輸出以通信方式耦合;一第二記憶體輸入/輸出;一第二ECC區塊,其與該第二記憶體輸入/輸出以通信方式耦合;一主機介面,其與該第一ECC區塊及該第二ECC區塊以通信方式耦合;一第一時鐘,其用於以一第一頻率提供一第一時鐘信號,該第一時鐘信號被提供至該第一ECC區塊及該第二ECC區塊;及一第二時鐘,其用於以一第二頻率提供一第二時鐘信號,該第二時鐘信號被提供至該主機介面,其中該第二頻率比該第一頻率高。
  11. 如請求項10之記憶體控制器,其中該第一時鐘信號亦被提供至該第一記憶體輸入/輸出及該第二記憶體輸入/輸出。
TW099131875A 2009-09-21 2010-09-20 具有可擴展管線誤差修正之非揮發性記憶體控制器 TWI505086B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/563,455 US8413015B2 (en) 2009-09-21 2009-09-21 Nonvolatile memory controller with scalable pipelined error correction

Publications (2)

Publication Number Publication Date
TW201133230A TW201133230A (en) 2011-10-01
TWI505086B true TWI505086B (zh) 2015-10-21

Family

ID=43127109

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099131875A TWI505086B (zh) 2009-09-21 2010-09-20 具有可擴展管線誤差修正之非揮發性記憶體控制器

Country Status (3)

Country Link
US (1) US8413015B2 (zh)
TW (1) TWI505086B (zh)
WO (1) WO2011034784A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012006014B4 (de) * 2012-03-12 2020-02-13 Intel Corporation Verteilte Codewortteile
TWI533316B (zh) * 2013-03-18 2016-05-11 慧榮科技股份有限公司 錯誤修正方法以及記憶體裝置
KR20150135311A (ko) 2013-03-25 2015-12-02 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 에러 정정 로직을 갖는 메모리 디바이스
US20160132388A1 (en) * 2013-06-14 2016-05-12 Samsung Electronics Co., Ltd Semiconductor memory device and ecc method thereof
TWI588833B (zh) * 2015-11-27 2017-06-21 群聯電子股份有限公司 資料程式化方法與記憶體儲存裝置
JP6164712B1 (ja) * 2016-08-18 2017-07-19 ウィンボンド エレクトロニクス コーポレーション フラッシュメモリ
US10908996B2 (en) 2019-02-22 2021-02-02 Intel Corporation Distribution of a codeword across individual storage units to reduce the bit error rate

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200632933A (en) * 2004-11-18 2006-09-16 Qualcomm Inc Robust and high-speed memory access with adaptive interface timing
US20070047305A1 (en) * 2002-12-09 2007-03-01 Conley Kevin M Zone Boundary Adjustments for Defects in Non-Volatile Memories
US20080222491A1 (en) * 2007-02-07 2008-09-11 Chang-Duck Lee Flash memory system for improving read performance and read method thereof

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848070B1 (en) 1999-11-24 2005-01-25 Intel Corporation Error correcting code scheme
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
US7103820B2 (en) 2003-09-22 2006-09-05 Adtran, Inc. System and method for interleaving forward error correction code words across multiple communication connections
US7322002B2 (en) * 2004-05-26 2008-01-22 Micron Technology, Inc. Erasure pointer error correction
JP4695385B2 (ja) * 2004-11-30 2011-06-08 株式会社東芝 メモリカードおよびカードコントローラ
US7546515B2 (en) 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7840875B2 (en) 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US7450425B2 (en) * 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US7818653B2 (en) 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
KR100856129B1 (ko) * 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
KR100866970B1 (ko) 2007-06-08 2008-11-05 삼성전자주식회사 Ecc 레이턴시와 데이터 레이턴시를 별도로 설정할 수있는 반도체 장치
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
WO2010041093A1 (en) * 2008-10-09 2010-04-15 Federico Tiziani Virtualized ecc nand
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070047305A1 (en) * 2002-12-09 2007-03-01 Conley Kevin M Zone Boundary Adjustments for Defects in Non-Volatile Memories
TW200632933A (en) * 2004-11-18 2006-09-16 Qualcomm Inc Robust and high-speed memory access with adaptive interface timing
US20080222491A1 (en) * 2007-02-07 2008-09-11 Chang-Duck Lee Flash memory system for improving read performance and read method thereof

Also Published As

Publication number Publication date
WO2011034784A1 (en) 2011-03-24
TW201133230A (en) 2011-10-01
US8413015B2 (en) 2013-04-02
US20110072328A1 (en) 2011-03-24

Similar Documents

Publication Publication Date Title
TWI505086B (zh) 具有可擴展管線誤差修正之非揮發性記憶體控制器
JP5776107B2 (ja) メモリコントローラ及び方法におけるデータ完全性
US8473811B2 (en) Multi-chip memory system and related data transfer method
US8938656B2 (en) Data storage device with intermediate ECC stage
TWI446350B (zh) 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
US20080320346A1 (en) Systems for reading nonvolatile memory
KR102002385B1 (ko) 데이터 저장 장치의 동작 방법
KR20090019593A (ko) 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
JP2012022422A (ja) 半導体記録再生装置
US11243838B2 (en) Methods and apparatuses for error correction
US10884628B2 (en) Performance of a read in a memory system
TWI387970B (zh) 讀取非揮發記憶體之系統及方法
TW201919048A (zh) 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
JP6491482B2 (ja) 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
US8423878B2 (en) Memory controller and memory system including the same having interface controllers generating parity bits
US8276033B2 (en) Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same
CN112017725B (zh) 超前处理的数据保护的非挥发性存储器存取方法和设备
US9367246B2 (en) Performance optimization of data transfer for soft information generation
CN102623050A (zh) 半导体集成电路及存储器系统

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees