TWI579855B - 傳送校正資料至非揮發性記憶體之緩衝器之系統與方法 - Google Patents
傳送校正資料至非揮發性記憶體之緩衝器之系統與方法 Download PDFInfo
- Publication number
- TWI579855B TWI579855B TW102104064A TW102104064A TWI579855B TW I579855 B TWI579855 B TW I579855B TW 102104064 A TW102104064 A TW 102104064A TW 102104064 A TW102104064 A TW 102104064A TW I579855 B TWI579855 B TW I579855B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- buffer
- volatile memory
- ecc
- corrected
- 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/1048—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 arrangements adapted for a specific error detection or correction feature
Description
本申請案主張基於2012年2月15日提出申請之印度專利申請案第551/CHE/2012號之優先權,該印度專利申請案全盤地併入本文中。
本發明概言之係關於校正一非揮發性記憶體處之資料。
諸如通用串列匯流排(USB)快閃記憶體裝置或可抽換式儲存卡之非揮發性記憶體裝置已實現增加之資料及軟體應用程式可攜性。快閃記憶體裝置可藉由在每一快閃記憶體單元中儲存多個位元來提高資料儲存密度及成本效益。
在一非揮發性記憶體之一記憶體位置處之一記憶體擦洗操作期間,通常將資料複製並移動至一不同記憶體位置。在移動該資料之前,可藉由傳送該資料至該記憶體裝置之一控制器處之一錯誤校正編碼(ECC)引擎來校正可能已在該資料中累積之錯誤。在校正該資料之後,可將該資料傳回至該非揮發性記憶體並將其儲存至該非揮發性記憶體處之一不同記憶體位置。該記憶體裝置回應於儲存使用者資料至該非揮發性記憶體或自該非揮發性記憶體讀取使用者資料之一命令之讀取或寫入效能可受在一記憶體擦洗操作期間正在進行之至及自該控制器之資料傳輸影響。
藉由在一控制器處自一非揮發性記憶體之一緩衝器接收資料並執行一錯誤校正編碼(ECC)操作以校正該資料中之位元錯誤來執行一資料複製操作。傳送校正資料至該緩衝器以校正該資料中之該等位元錯誤。該校正資料包括一經校正位元且覆寫包括一對應未經校正位元錯誤之儲存於該緩衝器處之該資料之一部分。
可與將該資料之全部傳輸回至該緩衝器相比藉由傳送該校正資料至該緩衝器並覆寫儲存於該緩衝器處之該資料之一部分以校正該資料中之位元錯誤來達成該資料複製操作需要之延時及功率之減少。
100‧‧‧系統
102‧‧‧資料儲存裝置
104‧‧‧非揮發性記憶體晶粒
106‧‧‧控制器
108‧‧‧非揮發性記憶體
110‧‧‧讀取/寫入電路
112‧‧‧緩衝器
114‧‧‧第一位置
116‧‧‧第二位置
120‧‧‧資料
122‧‧‧錯誤校正編碼引擎
124‧‧‧錯誤校正編碼隨機存取記憶體
126‧‧‧位元錯誤位置
128‧‧‧第二匯流排
130‧‧‧主機裝置
132‧‧‧校正資料
134‧‧‧視窗替換資料
140‧‧‧經校正資料
150‧‧‧匯流排
200‧‧‧系統
202‧‧‧經校正位元錯誤
204‧‧‧其他資料
300‧‧‧典型命令序列
304‧‧‧記憶體位址
306‧‧‧運算碼
310‧‧‧命令
400‧‧‧第二典型命令序列
404‧‧‧緩衝器位址
406‧‧‧運算碼
410‧‧‧命令
圖1係用於傳送校正資料至一非揮發性記憶體之一緩衝器之一系統之一說明性實施例之一方塊圖;圖2係圖解說明圖1之系統之緩衝器之額外細節之一圖式;圖3圖解說明可傳送至一非揮發性記憶體之一緩衝器以校正儲存於該緩衝器處之資料中之位元錯誤之一第一典型命令序列;圖4圖解說明可傳送至一非揮發性記憶體之一緩衝器以校正儲存於該緩衝器處之資料中之位元錯誤之一第二典型命令序列;及圖5係圖解說明傳送校正資料至一非揮發性記憶體之一緩衝器之一方法之一特定實施例之一流程圖。
揭示傳送校正資料至一非揮發性記憶體之一緩衝器之系統與方法。自該非揮發性記憶體之一緩衝器接收資料且起始一錯誤校正編碼(ECC)操作以校正該資料中之位元錯誤。傳送由該ECC操作所產生之校正資料至該緩衝器以校正該資料中之該等位元錯誤。
參閱圖1,繪示經組態以傳送校正資料至一非揮發性記憶體之一緩衝器之系統之一特定說明性實施例且通常將其指定為100。系統100
包括經由一匯流排150耦合至一主機裝置130之一資料儲存裝置102。資料儲存裝置102包括經由一第二匯流排128耦合至一控制器106之一非揮發性記憶體晶粒104。
主機裝置130可經組態以提供欲儲存於非揮發性記憶體晶粒104之一非揮發性記憶體108處之資料或請求欲自非揮發性記憶體108讀取之資料。舉例而言,主機裝置130可包括一行動電話、一音樂或視訊播放器、一遊戲控制臺、一電子書籍閱讀器、一個人數位助理(PDA)、諸如一膝上型電腦、一筆記型電腦或一平板電腦之一電腦、一電子裝置或其任一組合。
資料儲存裝置102可係一記憶體卡,諸如一Secure Digital SD®卡、一microSD®卡、一miniSD.TM卡(特拉華州威明頓市之SD-3C公司之商標)、一MultiMediaCard.TM(MMC.TM)卡(弗吉尼亞州阿林頓市之JEDEC固態技術協會之商標)或一CompactFlash®(CF)卡(加利福尼亞州密爾比達市之SanDisk公司之商標)。作為另一實例,資料儲存裝置102可係主機裝置130中之嵌入記憶體,諸如eMMC®(弗吉尼亞州阿林頓市之JEDEC固態技術協會之商標)及eSD記憶體,作為說明性實例。
非揮發性記憶體晶粒104包括非揮發性記憶體108、讀取/寫入電路110及一緩衝器112。非揮發性記憶體108可係一快閃裝置之一非揮發性記憶體,諸如一NAND快閃裝置、一NOR快閃裝置或任一其他類型之快閃裝置。讀取/寫入電路110可經組態以自非揮發性記憶體108之一第一位置114讀取資料120並將資料120寫入至緩衝器112。讀取/寫入電路110可經組態以將來自緩衝器112之資料120寫入至諸如一第二位置116之非揮發性記憶體108。
控制器106可經組態以自主機裝置130接收記憶體存取請求並處理自非揮發性記憶體108讀取之資料,諸如資料120。控制器106包括
一錯誤校正編碼(ECC)引擎122及一ECC隨機存取記憶體(RAM)124。
控制器106可經組態以自緩衝器112接收資料120,起始一ECC操作以校正資料120中之位元錯誤,並傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤。舉例而言,控制器106可經組態以致使資料120自非揮發性記憶體108之第一位置114讀取並寫入至緩衝器112且儲存於緩衝器112中。為舉例說明,控制器106可經組態以致使讀取/寫入電路110自非揮發性記憶體108之第一位置114讀取資料120並將自第一位置114讀取之資料120寫入至緩衝器112。ECC RAM 124可經組態以經由第二匯流排128自緩衝器112接收資料120。ECC引擎122可經組態以執行一ECC操作以校正資料120中之位元錯誤。
舉例而言,資料120可在自緩衝器112傳送至ECC RAM 124時「動態」經歷一同位核對。ECC引擎122可執行一ECC操作以識別資料120中之位元錯誤及一位元錯誤位置126。ECC引擎122可經組態以校正資料120中之位元錯誤。控制器106可傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤位置126處之位元錯誤。
校正資料132可包括至少一個經校正位元且可覆寫儲存於緩衝器112處之資料120之一部分。該部分可對應於如參照圖2進一步詳細闡述之視窗替換資料134。在接收校正資料132之前,緩衝器112可包括對應於校正資料132中之該經校正位元錯誤之一未經校正位元錯誤,以便當該經校正位元錯誤覆寫該未經校正位元錯誤時,形成經校正資料140。由控制器106經由第二匯流排128傳送之校正資料132之位元數目可對應於第二匯流排128之一大小。舉例而言,若第二匯流排128之該大小為8位元(亦即,針對每一匯流排循環所傳輸之8位元資料),則可在逐位元組基礎上傳送校正資料132。亦可使用諸如一16位元匯流
排、一32位元匯流排或任一其他大小匯流排之其他實施方案。
控制器106可經組態以致使經校正資料140程式化至非揮發性記憶體108。舉例而言,控制器106可經組態以致使讀取/寫入電路110自緩衝器112讀取經校正資料140並將經校正資料140寫入至非揮發性記憶體108之第二位置116。第二位置116可不同於第一位置114。在另一實施方案中,第二位置116可相同於第一位置114。
在操作期間,主機裝置130可指示控制器106自非揮發性記憶體108之第一位置114讀取資料120。控制器106可自緩衝器112接收資料120,起始一ECC操作以校正資料120中之位元錯誤,並傳送該經校正資料至主機裝置130。控制器106亦可傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤。校正資料132可覆寫儲存於緩衝器112處之資料120之一部分。另一選擇為或另外,可作為諸如一記憶體擦洗操作之一內務操作之一部分而不是回應於來自主機裝置130之一請求而讀取資料120。
藉由傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤,可達成一資料複製操作需要之延時及功率之減少。舉例而言,由於不需要在執行該ECC操作之後將原先自緩衝器112傳送至控制器106以用於錯誤校正之資料120之全部傳回至緩衝器112,而是只將包括經校正位元之資料120之部分傳回至緩衝器112,因而可減少延時且可減少功率。
參閱圖2,繪示展示緩衝器112之額外細節之圖1之系統之一特定說明性實施例且通常將其指定為200。圖2之系統200圖解說明圖1之緩衝器112及校正資料132之一詳細視圖。校正資料132可經由第二匯流排128傳送至緩衝器112以校正儲存於緩衝器112中之資料120中之位元錯誤。舉例而言,校正資料132可包括對應於位元錯誤位置126處之一未經校正位元錯誤(亦即,圖解說明為具有「0」之一值)之至少一個
經校正位元錯誤202且可覆寫儲存於緩衝器112處之資料120之一部分。
為舉例說明,儲存於緩衝器112處之資料120可含有識別於位元錯誤位置126處之一位元錯誤。校正資料132可包括對應於位元錯誤位置126處之該未經校正位元錯誤(亦即,圖解說明為具有「0」之一值)之該至少一個經校正位元202(亦即,圖解說明為具有「1」之一值)。校正資料132可包括於視窗替換資料134內。視窗替換資料134可對應於第二匯流排128之一大小。舉例而言,視窗替換資料134內之校正資料132之位元數目可對應於第二匯流排128之一大小。另外,視窗替換資料134可具有小於儲存於緩衝器112處之資料120之一大小之一大小。就此方面,校正資料132可覆寫對應於視窗替換資料134之該大小之儲存於緩衝器112處之資料120之一部分。為舉例說明,儲存於緩衝器112處之資料120之一部分(亦即,圖解說明為資料「1 0 0 1 1」)可由視窗替換資料134(亦即,圖解說明為資料「1 1 0 1 1」)覆寫。不在視窗替換資料134內之儲存於緩衝器112處之其他資料204不受干擾。
另一選擇為或另外,校正資料132可包括兩個或兩個以上經校正位元錯誤。舉例而言,兩個或兩個以上經校正位元錯誤可在視窗替換資料134範圍內。在那種情況下,當儲存於緩衝器112處之資料120之該部分由視窗替換資料134覆寫時,該兩個或兩個以上經校正位元錯誤可校正對應於校正資料132中之該兩個或兩個以上經校正位元錯誤之緩衝器112中之兩個或兩個以上未經校正位元錯誤。
可藉由傳送校正資料132至緩衝器112並覆寫儲存於緩衝器112處之資料120之一部分以校正資料120中之位元錯誤,而不是將自ECC引擎122接收之ECC RAM 124之全部經校正內容傳回至緩衝器112來達成一資料複製操作需要之延時及功率之減少。
舉例而言,ECC資料通常可含有2292(例如,14(標頭)+2048(資
料)+230(ECC))個位元組。當該ECC資料經由該ECC操作校正且傳輸回至非揮發性記憶體時,可傳回2292個位元組。然而,可與傳輸所有該2292個ECC資料位元組相比藉由傳送校正資料132至緩衝器112並覆寫儲存於緩衝器112處之資料120之一部分以校正該資料中之位元錯誤來達成該資料複製操作需要之延時及功率之減少。舉例而言,資料可自非揮發性記憶體108讀取,儲存於非揮發性記憶體108之緩衝器112中,并傳送至資料儲存裝置102之ECC引擎122。在資料120由該ECC操作校正之後,可將校正資料132傳送至緩衝器112且可覆寫儲存於緩衝器112處之資料120之一部分以校正儲存於緩衝器112處之資料120中之位元錯誤。此後,可將該資料程式化至非揮發性記憶體108處之一不同記憶體位置。該校正資料可含有實質少於上文所闡述之該2292個ECC位元組之位元組,從而減少延時及在該資料複製操作期間所耗用之功率。
舉例而言,若一錯誤臨限值為100且該校正資料係一單個位元組之校正資料,則理論上可能只需要在執行該ECC操作之後將100個位元組之校正資料傳回至非揮發性記憶體108。然而,傳送多個位元組之校正資料將有可能造成諸如命令(CMD)及/或位址(ADDR)資訊之傳送之「附加項」。用於傳送1個位元組之校正資料之附加項可為6個位元組(例如,1個位元組CMD+5個位元組ADDR),因此實際上可將700個位元組之校正資料傳送至該非揮發性記憶體以校正100個位元組之資料。傳送700個位元組之校正資料及附加項對應於與傳送2292個位元組之ECC資料相比近似69%延時減少。一「年青」記憶體通常經歷較一「年老」記憶體為少之錯誤。因此,與一年老記憶體相比,可針對一年青記憶體中之每一ECC字傳送較少位元組之校正資料,而此可導致大於69%之延時減少。傳送較少位元組之校正資料亦將導致功率減少。
可藉由傳送覆寫該緩衝器中之一特定資料位元組之「特殊」命令來執行資料校正。舉例而言,圖3圖解說明可傳送至諸如圖2之緩衝器112之一緩衝器以校正儲存於緩衝器112處之資料120中之位元錯誤之一典型命令序列300。舉例而言,傳送校正資料132可包括傳送用儲存於緩衝器112處之資料120之一部分之一經校正版本來替換資料120之該部分之一命令310。不在視窗替換資料134內之儲存於緩衝器112處之其他資料204不受干擾。命令序列300可包括校正資料132、一記憶體位址304及一運算碼306。記憶體位址304及運算碼306可形成命令310。
運算碼306可指定欲執行之一運算。舉例而言,運算碼306可對應於可啟用對緩衝器112中之多個多位階記憶體胞(MLC)頁面中之一單個實體頁面之校正之諸如一CMD 85運算碼之一隨機資料輸入運算碼之一運算碼。在一個實施方案中,命令序列300可係一CMD 85-ADDR*5-DATA命令序列。
校正資料132可係一單個位元組之校正資料。因此,使用6個位元組之附加項資料(例如,用於記憶體位址304之5個位元組及用於運算碼306之1個位元組)來校正1個位元組之資料。相比之下,替換該緩衝器中之資料120之全部可如上文所解釋需要該2292個ECC位元組之資料來校正1個位元組之資料。
記憶體位址304可對應於含有該等位元錯誤之資料120之該部分之圖1之非揮發性記憶體108處之一位址。舉例而言,記憶體位址304可對應於定位自其讀取資料120之第一位置114內之資料之一位址。記憶體位址304可包括欲用儲存於緩衝器112處之資料120之一部分之一經校正版本來替換之該資料之該部分之一記憶體位址。為舉例說明,非揮發性記憶體108可係一137吉字節(GB)記憶體且記憶體位址304可包括用於指定該137 GB記憶體中之一特定位元組之一5位元組位址。
圖4圖解說明可傳送至諸如緩衝器112之一緩衝器以藉助與圖3相比減少之附加項來校正儲存於緩衝器112處之資料120中之位元錯誤之一第二典型命令序列400。舉例而言,傳送校正資料132可包括傳送用儲存於緩衝器112處之資料120之一部分之一經校正版本來替換資料120之該部分之一命令410。不在視窗替換資料134內之儲存於緩衝器112處之其他資料204不受干擾。命令序列400可包括校正資料132、一緩衝器位址404及一運算碼406。緩衝器位址404及運算碼406可形成命令410。
緩衝器位址404可對應於含有該等位元錯誤之圖1之緩衝器112處之一位址(與圖3之記憶體位址304相比)。舉例而言,緩衝器位址404可對應於欲用儲存於緩衝器112處之資料120之一部分之一經校正版本來替換之該資料之該部分之緩衝器112中之一位置。緩衝器位址404可具有較圖3之記憶體位址304為少之位元。舉例而言,當一頁面大小為2千字節(KB)時,該緩衝器位址可係用於定位欲替換之緩衝器112內之資料120之該部分之一2位元組位址。亦可使用諸如一3位元組位址、一4位元組位址或任一其他大小位址之其他實施方案。
運算碼406可指定欲執行之一運算。舉例而言,運算碼406可由非揮發性記憶體晶粒104處之邏輯解釋以用校正資料132來替換緩衝器112中之一位元組值。
圖5繪示圖解說明傳送校正資料至一非揮發性記憶體之一緩衝器之一方法500之一實施例之一流程圖。方法500可由圖1之資料儲存裝置執行。
可在502處自一非揮發性記憶體之一第一位置讀取資料。舉例而言,讀取/寫入電路110可自非揮發性記憶體108之第一位置114讀取資料120。
可在504處將該資料儲存於一緩衝器中。舉例而言,讀取/寫入電
路110可將自第一位置114讀取之資料120寫入至緩衝器112。
可在506處自該緩衝器接收該資料。舉例而言,控制器106可經組態以經由第二匯流排128自緩衝器112接收資料120並用所接收資料120來填充ECC RAM 124。
可在508處起始一錯誤校正編碼(ECC)操作以校正該資料中之位元錯誤。舉例而言,控制器106可起始該ECC操作且ECC引擎122可執行該ECC操作以校正ECC RAM 124處之資料120中之位元錯誤。在該ECC操作之後,ECC RAM 124可含有資料120之一經錯誤校正版本。
可在510處傳送校正資料至該緩衝器以校正儲存於該緩衝器處之資料中之位元錯誤以形成經校正資料。舉例而言,ECC引擎122可校正資料120中之位元錯誤並提供校正資料132。控制器106可傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤位置126處之位元錯誤。控制器106可藉由傳送用儲存於緩衝器112處之資料120之一部分之一經校正版本來替換資料120之該部分(例如,視窗替換資料134)之諸如圖3之命令310或圖4之命令410之一命令來傳送校正資料132。
可在512處將該經校正資料程式化至該非揮發性記憶體。舉例而言,讀取/寫入電路110可自緩衝器112讀取經校正資料140並將自緩衝器112讀取之經校正資料140寫入至非揮發性記憶體108。
由於只需要在執行該ECC操作之後將原先自緩衝器112傳送至控制器106以用於錯誤校正之資料120之一部分傳回至緩衝器112而不是資料120之全部,因而可減少延時且可減少功率。
儘管以方塊組件形式圖解說明並概括地闡述本文中所繪示之各種組件,但此等組件可包括一或多個微處理器、狀態機、或經組態以啟用諸如圖1之資料儲存裝置102之一資料儲存裝置來執行屬於此等組件之特定功能之其他電路或其任一組合。舉例而言,圖1之控制器106
可表示諸如控制器、處理器、狀態機、邏輯電路或用於傳送校正資料132至緩衝器112以校正儲存於緩衝器112處之資料120中之位元錯誤之其他結構之實體組件。
控制器106可使用經程式化以產生控制資訊並指示操作之一微處理器或微控制器來實施。在一特定實施例中,控制器106包括執行儲存於非揮發性記憶體108處之指令之一處理器。另一選擇為,或另外,由該處理器執行之可執行指令可儲存於不屬於非揮發性記憶體108之一單獨記憶體位置處,諸如一唯讀記憶體(ROM)處。
在一特定實施例中,資料儲存裝置102可係經組態以選擇性地耦合至一或多個外部裝置之一可攜式裝置。舉例而言,資料儲存裝置102可係諸如一通用串列匯流排(USB)快閃磁碟機或一可抽換式記憶體卡之一可抽換式裝置。然而,在其他實施例中,可將資料儲存裝置102附裝或嵌入於一個或多個主機裝置內,諸如一可攜式通信裝置之一罩殼內。舉例而言,資料儲存裝置102可在諸如一無線電話、一個人數位助理(PDA)、一遊戲裝置或控制臺、一可攜式導航裝置、一電腦或使用內部非揮發性記憶體之其他裝置之一經封裝設備內。在一特定實施例中,資料儲存裝置102可包括一非揮發性記憶體,諸如一快閃記憶體(例如,NAND、NOR、多位階記憶體胞(MLC)、分開式位元線NOR(DINOR)、AND、高電容性耦合比(HiCR)、非對稱性非接觸電晶體(ACT)或其他快閃記憶體)、一可抹除可程式化唯讀記憶體(EPROM)、一電可抹除可程式化唯讀記憶體(EEPROM)、一唯讀記憶體(ROM)、一一次可程式化記憶體(OTP)或任一其他類型之記憶體。
對本文中所闡述之實施例之圖解說明意欲提供對各種實施例之一大體理解。可利用並從本發明中派生出其他實施例,以便可在不背離本發明之範疇之情形下做出結構及邏輯替代及改變。本發明意欲涵蓋各種實施例之任一及所有後續改變或變化。
上文所揭示之標的物應被視為說明性而非限制性,且隨附申請專利範圍意欲涵蓋所有此等修改、改進及屬於本發明範疇內之其他實施例。因此,在法律允許之最大範圍內,本發明之範疇將由下文申請專利範圍及其等效內容之所准許的最廣泛解釋來確定,且不應由前述詳細說明限定或限制。
100‧‧‧系統
102‧‧‧資料儲存裝置
104‧‧‧非揮發性記憶體晶粒
106‧‧‧控制器
108‧‧‧非揮發性記憶體
110‧‧‧讀取/寫入電路
112‧‧‧緩衝器
114‧‧‧第一位置
116‧‧‧第二位置
120‧‧‧資料
122‧‧‧錯誤校正編碼引擎
124‧‧‧錯誤校正編碼隨機存取記憶體
126‧‧‧位元錯誤位置
128‧‧‧第二匯流排
130‧‧‧主機裝置
132‧‧‧校正資料
134‧‧‧視窗替換資料
140‧‧‧經校正資料
150‧‧‧匯流排
Claims (20)
- 一種用於操作一資料儲存裝置之方法,該方法包含:於包括經由一匯流排耦合至一非揮發性記憶體之一控制器的該資料儲存裝置處,其中該控制器包括一錯誤校正編碼(ECC)引擎及耦合至該ECC引擎之一ECC記憶體,執行:於該控制器處,經由該匯流排自該非揮發性記憶體之一緩衝器接收資料,且在該ECC記憶體中儲存該經接收資料;於該控制器處,起始一錯誤校正編碼(ECC)操作以致使該ECC引擎校正儲存在該ECC記憶體中的該經接收資料中之一或多個位元錯誤,以在該ECC記憶體中產生該經接收資料之一經錯誤校正版本;及經由該匯流排自該控制器傳送少於該經接收資料之該經錯誤校正版本之全部至該緩衝器,其中經傳送之該少於該經接收資料之該經錯誤校正版本之全部包含一第一部分,該第一部分包括該經校正之一或多個位元錯誤,該第一部分經組態以在該緩衝器中覆寫該資料之一部分但並非該資料之全部以校正在該緩衝器中該資料中之該一或多個位元錯誤。
- 如請求項1之方法,其中該第一部分包括複數個經校正位元且該第一部分覆寫在該緩衝器中包括若干對應未經校正位元錯誤之該資料之該部分以形成經校正資料。
- 如請求項2之方法,其進一步包含將該經校正資料程式化至該非揮發性記憶體。
- 如請求項3之方法,其進一步包含,於該控制器處自該緩衝器接收資料之前:自該非揮發性記憶體之一第一位置讀取該資料;及 將該資料儲存於該緩衝器中,其中將該經校正資料程式化至該非揮發性記憶體之一第二位置,該非揮發性記憶體之該第二位置不同於該非揮發性記憶體之該第一位置。
- 如請求項1之方法,其進一步包含傳送用在該緩衝器中之該資料之該部分之一經校正版本來替換該資料之該部分之一命令。
- 如請求項5之方法,其中該命令包括對應於儲存該資料之該部分之該非揮發性記憶體內之一位置之一記憶體位址。
- 如請求項6之方法,其中傳送該命令包括傳送一CMD 85-ADDR*5-DATA命令序列。
- 如請求項5之方法,其中該命令包括對應於儲存該資料之該部分之該緩衝器內之一位置之一緩衝器位址。
- 如請求項1之方法,其中該第一部分具有匹配該匯流排之一資料寬度之位元數目,其中該經接收資料之該經錯誤校正版本之全部包括該第一部分及一第二部分,且其中在不傳送該第二部分至該緩衝器的情況下傳送該第一部分至該緩衝器。
- 如請求項1之方法,其中該非揮發性記憶體包含一快閃記憶體。
- 一種資料儲存裝置,其包含:一非揮發性記憶體,該非揮發性記憶體包括一緩衝器;及一控制器,其經由一匯流排耦合至該非揮發性記憶體,該控制器包括一錯誤校正編碼(ECC)引擎及耦合至該ECC引擎之一ECC記憶體,該控制器經組態以:經由該匯流排自該緩衝器接收資料,且在該ECC記憶體中儲存該經接收資料;起始一錯誤校正編碼(ECC)操作以致使該ECC引擎校正儲存在該ECC記憶體中的該經接收資料中之一或多個位元錯誤,以 在該ECC記憶體中產生該經接收資料之一經錯誤校正版本;及經由該匯流排自該控制器傳送少於該經接收資料之該經錯誤校正版本之全部至該緩衝器,其中經傳送之該少於該經接收資料之該經錯誤校正版本之全部包含一第一部分,該第一部分包括該經校正之一或多個位元錯誤,且其中該第一部分經組態以在該緩衝器中覆寫該資料之一部分但並非該資料之全部以校正在該緩衝器中該資料中之該一或多個位元錯誤。
- 如請求項11之資料儲存裝置,其中該第一部分包括複數個經校正位元且該第一部分覆寫在該緩衝器中包括若干對應未經校正位元錯誤之該資料之該部分以形成經校正資料,其中該第一部分之一大小小於該經接收資料之一大小。
- 如請求項12之資料儲存裝置,其中該控制器進一步經組態以將在該緩衝器中之該經校正資料程式化至該非揮發性記憶體。
- 如請求項13之資料儲存裝置,其中該控制器進一步經組態以:致使自該非揮發性記憶體之一第一位置讀取該資料;致使將該資料儲存於該緩衝器中;及致使將在該緩衝器中的該經校正資料儲存於該非揮發性記憶體之一第二位置,該非揮發性記憶體之該第二位置不同於該非揮發性記憶體之該第一位置。
- 如請求項11之資料儲存裝置,其中該ECC記憶體包含耦合至該ECC引擎之一隨機存取記憶體。
- 如請求項11之資料儲存裝置,其中該第一部分具有匹配該匯流排之一資料寬度之位元數目。
- 如請求項11之資料儲存裝置,其中該控制器經組態以傳送用該第一部分來替換該緩衝器中之該資料之一部分之一命令。
- 如請求項17之資料儲存裝置,其中該命令包括對應於儲存該資 料之該部分之該非揮發性記憶體內之一位置之一記憶體位址。
- 如請求項18之資料儲存裝置,其中該命令包括傳送一CMD 85-ADDR*5-DATA命令序列。
- 如請求項17之資料儲存裝置,其中該命令包括對應於該資料之該部分之一緩衝器位址,且其中僅該經接收資料之該經錯誤校正版本之該第一部分自該控制器傳送至該緩衝器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN551CH2012 | 2012-02-15 | ||
US13/423,900 US9223649B2 (en) | 2012-02-15 | 2012-03-19 | System and method of sending correction data to a buffer of a non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201342386A TW201342386A (zh) | 2013-10-16 |
TWI579855B true TWI579855B (zh) | 2017-04-21 |
Family
ID=48946679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102104064A TWI579855B (zh) | 2012-02-15 | 2013-02-01 | 傳送校正資料至非揮發性記憶體之緩衝器之系統與方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9223649B2 (zh) |
TW (1) | TWI579855B (zh) |
WO (1) | WO2013122725A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430324B2 (en) * | 2013-05-24 | 2016-08-30 | Rambus Inc. | Memory repair method and apparatus based on error code tracking |
JP2017157257A (ja) * | 2016-03-01 | 2017-09-07 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156189A1 (en) * | 2004-12-21 | 2006-07-13 | Andrew Tomlin | Method for copying data in reprogrammable non-volatile memory |
US20070271494A1 (en) * | 2006-05-17 | 2007-11-22 | Sandisk Corporation | Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
US20080266991A1 (en) * | 2007-04-26 | 2008-10-30 | Super Talent Electronics Inc. | Synchronous Page-Mode Phase-Change Memory with ECC and RAM Cache |
US20110078544A1 (en) * | 2009-09-28 | 2011-03-31 | Fred Gruner | Error Detection and Correction for External DRAM |
US20110314354A1 (en) * | 2010-06-15 | 2011-12-22 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279072B1 (en) * | 1999-07-22 | 2001-08-21 | Micron Technology, Inc. | Reconfigurable memory with selectable error correction storage |
KR100543447B1 (ko) * | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
US7894289B2 (en) * | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
KR100849221B1 (ko) * | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US20090125790A1 (en) * | 2007-11-13 | 2009-05-14 | Mcm Portfolio Llc | Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller |
US8271515B2 (en) * | 2008-01-29 | 2012-09-18 | Cadence Design Systems, Inc. | System and method for providing copyback data integrity in a non-volatile memory system |
TWI473117B (zh) | 2008-06-04 | 2015-02-11 | A Data Technology Co Ltd | 具資料修正功能之快閃記憶體儲存裝置 |
CN102272730B (zh) * | 2008-10-09 | 2017-05-24 | 美光科技公司 | 经虚拟化错误校正码nand |
KR101575248B1 (ko) * | 2009-04-30 | 2015-12-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US9268632B2 (en) * | 2010-09-24 | 2016-02-23 | Rambus Inc. | Memory device with ECC history table |
-
2012
- 2012-03-19 US US13/423,900 patent/US9223649B2/en not_active Expired - Fee Related
-
2013
- 2013-01-24 WO PCT/US2013/022901 patent/WO2013122725A1/en active Application Filing
- 2013-02-01 TW TW102104064A patent/TWI579855B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156189A1 (en) * | 2004-12-21 | 2006-07-13 | Andrew Tomlin | Method for copying data in reprogrammable non-volatile memory |
US20070271494A1 (en) * | 2006-05-17 | 2007-11-22 | Sandisk Corporation | Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
US20080266991A1 (en) * | 2007-04-26 | 2008-10-30 | Super Talent Electronics Inc. | Synchronous Page-Mode Phase-Change Memory with ECC and RAM Cache |
US20110078544A1 (en) * | 2009-09-28 | 2011-03-31 | Fred Gruner | Error Detection and Correction for External DRAM |
US20110314354A1 (en) * | 2010-06-15 | 2011-12-22 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
Also Published As
Publication number | Publication date |
---|---|
WO2013122725A1 (en) | 2013-08-22 |
TW201342386A (zh) | 2013-10-16 |
US20130212448A1 (en) | 2013-08-15 |
US9223649B2 (en) | 2015-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI613675B (zh) | 具有減小讀取延時之資料儲存裝置及其操作方法 | |
TWI591631B (zh) | 更新記憶體內讀取電壓之系統與方法 | |
US9229806B2 (en) | Block closure techniques for a data storage device | |
US9817749B2 (en) | Apparatus and method of offloading processing from a data storage device to a host device | |
TWI616884B (zh) | 自記憶體讀取資料同時將寫入資料傳送至該記憶體之系統及方法 | |
US9043549B2 (en) | Memory storage apparatus, memory controller, and method for transmitting and identifying data stream | |
US8418026B2 (en) | Hybrid error correction coding to address uncorrectable errors | |
US9165670B2 (en) | Data retention detection techniques for a data storage device | |
TW201351425A (zh) | 用於解碼取決於干擾條件下之資料之系統與方法 | |
TWI397821B (zh) | 資料串傳送方法、系統及其控制器 | |
KR20150014437A (ko) | 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법 | |
US9400747B2 (en) | Batch command techniques for a data storage device | |
KR20070076849A (ko) | 메모리 카드의 카피백 동작을 수행하는 장치 및 방법 | |
CN102414666A (zh) | 用于受管理的非易失性存储器的低等待时间读取操作 | |
US8982617B1 (en) | Block closure techniques for a data storage device | |
US20150046772A1 (en) | Method and device for error correcting code (ecc) error handling | |
TWI579855B (zh) | 傳送校正資料至非揮發性記憶體之緩衝器之系統與方法 | |
TWI658402B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8312205B2 (en) | Method for identifying a page of a block of flash memory, and associated memory device | |
TW202318206A (zh) | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |