用於在可重編程非易失性存儲器中拷貝數據的方法
2023-08-01 07:22:41 4
專利名稱:用於在可重編程非易失性存儲器中拷貝數據的方法
技術領域:
本發明大體而言涉及可重編程非易失性存儲器系統及其作業,且更具體而言涉及 用於拷貝數據的技術。
背景技術:
現今可重編程非易失性存儲器產品在商業上獲得成功且隨處可得到,特別是小形 體因數卡形式的非易失性存儲器產品,例如由包括SanDisk公司在內的各商家製造的 小型閃速存儲器卡(CF)、安全數字卡(SD)、多媒體卡(MMC)及記憶棒卡。這些 卡通常使用閃速電可擦可編程只讀存儲器(EEPROM)存儲器單元陣列。閃速EEPROM 存儲器單元陣列通常製造成NOR陣列或NAND陣列。
NOR陣列
在典型的NOR陣列中,各存儲器單元連接於在列方向上延伸的相鄰位線源極與 漏極擴散區之間,且控制柵極連接至沿存儲器單元行延伸的字線。 一種典型的存儲器 單元在源極與漏極擴散區之間具有"分裂式溝道"。存儲器單元的電荷存儲元件位於所 述溝道的一部分上,而字線(也稱作控制柵極)位於另一溝道部分上及所述電荷存儲 元件上。此會有效地構成一具有兩個串聯電晶體的單元,其中一個電晶體(存儲器晶 體管)使用所述電荷存儲元件上的電荷量與所述字線的電壓的組合來控制可流經其溝 道部分的電流量,另一電晶體(選擇電晶體)則僅具有字線用作其柵極。字線在一行 電荷存儲元件上延伸。這些單元的實例、其在存儲器系統中的應用及其製造方法在第 5,070,032號、第5,095,344號、第5,315,541號、第5,343,063號、及第5,661,053號美 國專利中及在1999年1月27日提出申請且同在申請中的第09/239,073號美國專利申 請案中給出。此種分裂溝道式閃速EEPROM單元的一修改形式是增加一位於電荷存儲元件與 字線之間的導引柵極。陣列中的每一導引柵極均垂直於字線在一列電荷存儲元件上延 伸。其作用是在讀取或編程選定單元時無需使字線同時執行兩種功能。這兩種功能是 (l)用作選擇電晶體的柵極,因此需要一適當的電壓來導通或關斷選擇電晶體,及(2) 通過耦合於字線與電荷存儲元件之間的電場(容性)將電荷存儲元件的電壓驅動至所 期望電平。通常難以使用單一電壓以最佳方式同時執行這兩種功能。在增加導引柵極 後,字線僅需要執行功能(1),而由所增加的導引柵極來執行功能(2)。例如,在第 5,313,421號及第6,222,762號美國專利中即對導引柵極在閃速EEPROM陣列中的使用目前有各種編程技術用於將電子從襯底通過柵極電介質注入至浮動柵極存儲元 件上。最常見的編程機理闡述於一本由Brown及Brewer編輯的書"非易失性半導體 存《者器技術(■/Vowvo/flWe Se/m'co打dwctor Afemo" T^c/woZog;y)"(正EE出版社,第1.2 部分,第9-25頁(1998年))中。 一種稱作溝道"熱電子注入"的技術(第1.2.3部 分)將電子從單元的溝道注入浮動柵極毗鄰所述單元的漏極的一區域內。另一種稱作 "源極側注入"的技術(第1.2.4部分)則以一種方式沿存儲器單元溝道的長度控制襯 底表面電位,以在溝道的遠離漏極的區域中給電子注入創造條件。源極側注入還闡述 於一篇由Kamiya等人所著的論文"具有高柵極注入效率的EPROM單元(EPROM Cell with High Gate Injection Efficiency)"(正DM Technical Digest, 1982年,第741-744頁) 及第4,622,656號和第5,313,421號美國專利中。在上文所述的兩種類型的NOR存儲器單元陣列中均使用兩種用於從電荷存儲元 件移除電荷以擦除存儲器單元的技術。其中一種技術是通過向源極、漏極及另一(些) 柵極施加致使電子隧穿存儲元件與襯底間的一部分介電層的適當電壓來擦除至襯底。 另一種擦除技術是通過位於存儲元件與另一柵極之間的隧道介電層將電子從存儲元件 傳送至另一柵極。在上文所述的第一種類型的單元中,出於該目的而設置第三擦除柵 極。在上述因使用導引柵極而已具有三個柵極的第二種類型的單元中,是將電荷存儲 元件擦除至字線,而無需增加第四柵極。儘管所述後一種技術又重新增加由字線執行 的第二功能,然而,這些功能是在不同的時間執行,因而不必因這兩種功能而需要做 出折中。當使用這兩種擦除技術中的任一種時,將大量的存儲器單元組合在一起,以 便以"閃速"方式同時擦除。在一種方法中,所述群組包含足夠的存儲器單元,以存 儲磁碟扇區中所存儲的用戶數據量(即512個字節)加上某些開銷數據。在另一種方 法中,每一群組包含足夠的單元,以保存數千個字節的用戶數據,這等於許多個扇區 的數據。在第5,297,148號美國專利中即說明了多塊擦除、缺陷管理及其它閃速 EEPROM系統特徵。如同在大多數集成電路應用中一樣,閃速EEPROM系統也存在縮小為構建某些 集成電路功能所需的矽襯底區域的壓力。人們不斷地期望增加可存儲在矽襯底的既定 區域中的數字數據量,以增大既定大小存儲器卡及其它類型封裝的存儲容量,或者既 增大容量又減小大小。 一種增大數據存儲密度的方法是每一存儲單元存儲多於一位數 據。此通過將一存儲元件電荷電平電壓範圍窗口劃分成多於兩種狀態來實現。使用四 個此種狀態能夠使每一單元存儲兩位數據,使用八種狀態能夠每一單元存儲三位數據, 依此類推。多狀態閃速EEPROM結構及作業闡述於美國專利第5,043,940號及第 5,172,338號中。另一種類型的存儲器單元包括兩個存儲元件,其也可在每一存儲元件上以多種狀 態工作。在此種類型的單元中,在源極擴散區與漏極擴散區之間的其溝道上包含兩個 存儲元件,且其中間具有一選擇電晶體。沿每一列存儲元件包含一導引柵極,且沿每
一行存儲元件在所述導引柵極上提供一字線。當存取既定存儲元件以讀取或編程時, 含有所涉及存儲元件的單元中的另一存儲元件上方的導引柵極升至足夠高,以導通所 述另一存儲元件下方的溝道,而無論其上面所存在的電荷電平如何。此可有效地消除 另一存儲元件作為讀取或編程相同存儲器單元的所涉及存儲元件中的一因素。例如, 此時,流經所述單元的電流量(可用於讀取其狀態)是所涉及存儲元件上電荷量的函 數,但不是同一單元中另一存儲元件上的電荷量的函數。此種單元陣列架構及操作技術的實例闡述於第5,712,180號、第6,103,573號及第6,151,248號美國專利中。 NAND陣列另一種閃速EEPROM架構則利用NAND陣列,其中由多於兩個存儲單元(例如 16個或32個)構成的串聯串連同一個或多個選擇電晶體連接於各單獨位線與一參考 電位之間以構成單元列。各字線延伸跨過大量的這些列內的單元。在編程期間,通過 如下方式來讀取及驗證一列中的單個存儲單元強導通所述串中的其餘單元,以使流 經一個串的電流取決於所尋址的單元中所存儲電荷的電平。在第5,570,315號、第 5,774,397號及第6,046,935號美國專利中可找到NAND架構陣列及其作為存儲系統一 部分的作業的實例。當前閃速EEPROM陣列的及上文所提及專利及文章中所述的電荷存儲元件是最 常用的導電性浮動柵極,其通常由經摻雜的多晶矽材料製成。適用於閃速EEPROM系 統的另一種類型的存儲器單元利用非導電性介電材料取代導電性浮動柵極以非易失性 方式存儲電荷。此一單元闡述於由Chan等人所著的論文"真正的單電晶體氧化物一 氮化物一氧化物EEPROM器件(ATrue Single-Transistor Oxide-Nitride-Oxide EEPROM Device)"(正EE電子器件通訊(正EE Electron Device Letters),第EDL-8巻,No.3, 1987年3月,第93-95頁)中。 一由氧化矽、氮化矽及氧化矽("ONO")形成的三層 電介質被夾於導電性控制柵極與存儲器單元溝道上方的半導電性襯底的表面之間。存 儲單元是通過將電子從單元溝道注入氮化物內來編程,其中電子被陷獲並存儲於有限 區域中。然後,該所存儲的電荷以一可檢測方式改變單元溝道的一部分的閾電壓。單 元是通過將熱空穴注入氮化物內來得到擦除。也參見由Nozaki等人所著的"用於半導 體碟片應用的具有MONOS存儲單元的1-Mb EEROM (A 1-Mb EEPROM w池 MONOS Memory Cell for Semiconductor Disk Application)" (IEEE固態電路雜誌(IEEE Journal of Solid-State Circuits)第26巻,No.4, 1991年4月,第497-501頁),其闡述 一種具有分裂柵極構造的類似單元,其中一經摻雜的多晶矽柵極延伸於存儲器單元溝 道的一部分上方以形成一單獨的選擇電晶體。第5,851,881號美國專利闡述在存儲器單元溝道上方使用兩個彼此毗鄰定位的存 儲元件,其中一個存儲元件為此一介電元件,而另一元件為導電性浮動柵極。可存儲 兩位數據,其中一位存儲於介電元件中,而另一位存儲於浮動柵極中。通過將這兩個 柵極中的每一柵極編程於兩個不同電荷電平範圍之一中,將存儲單元編程於四個不同 閾電平組合之一中,從而表示四種存儲狀態之一。另一種利用介電存儲元件在每一單元中存儲兩個位的方法由Eitari等人闡述於 "NROM: —種新穎的局部化陷獲,2-位非易失性存儲單元(NROM:A Novel Localized Tr叩ping, 2-Bit Nonvolatile Memory Cell)" (IEEE電子器件通信(IEEE Electron Device Letters),第21巻,第11號,2000年11月,第543-545頁)中。一ONO介電層延伸 跨越源極擴散區與漏極擴散區之間的溝道。 一個數據位的電荷集中在毗鄰漏極的介電 層中,另一數據位的電荷則集中在毗鄰源極的介電層中。多狀態數據存儲是通過分別 讀取電介質內空間上分離的電荷存儲區域的二進位狀態來實現。大擦除塊典型非易失性閃速陣列的存儲器單元被劃分成可一同擦除的分立單元塊。換句話 說,所述塊是擦除單位。每一塊通常存儲一個或多個數據頁,頁是編程和讀取單位, 雖然在單次作業中可編程或讀取多於一個頁。每一頁通常存儲一個或多個數據扇區, 扇區的尺寸由主機系統界定。其一實例是一扇區有512個字節的用戶數據(遵循一關 於磁碟驅動器建立的標準)加上一定數量字節的關於用戶數據及/或存儲所述用戶數據 的塊的開銷信息。有時,需要擦除塊以騰出塊用於寫入作業。在此種情況下,在擦除原始塊之前, 合併所要擦除塊內的有效數據頁(原始塊)並將其拷貝至另一塊(更新塊)。所述過程 被稱作"垃圾收集"。在垃圾收集過程中,來自原始塊的其餘有效數據頁被從原始塊拷 貝至更新塊。 一旦完成拷貝作業,即擦除原始塊,然後更新塊變成原始塊。通常,諸如上文所述的用於垃圾收集的拷貝作業需要存儲器控制器參與。 一種用 於提高數據從一個位置拷貝至另一個位置的速度的技術是通過使用一稱作晶片上拷貝 的特徵來減小控制器在拷貝作業中的參與。晶片上拷貝提供一可用以讀取數據、修改 數據並將數據寫回所述存儲器、而無需將所有數據傳送至控制器並然後再傳送回存儲 器的特徵。晶片上拷貝提供在存儲器單元陣列中將數據從一個位置拷貝至另一個位置 而無需將數據傳送至所述控制器的功能性。此種技術闡述於美國專利第6,266,273號中 並讓與本發明的受讓人SanDisk公司。上文所提及的專利、專利申請案、文章及書籍部分均以引用方式明確地全文倂入 本背景技術部分中。發明內容大體而言,本發明提供多種用於數據重定位作業的方法,其中數據從第一存儲器 位置拷貝至可重編程非易失性存儲器系統的第二存儲器位置。數據被從所述第一位置 讀入所述存儲器上的寄存器或緩衝存儲器,然後直接拷貝至第二位置或傳送至所述系 統的控制器,以在此處可檢査數據,且如果需要可依據其相關聯的錯誤糾正碼(ECC) 來糾正數據。在本發明的第一方面中,為提高性能,無需針對每一數據拷貝來檢查 ECC。相反,可依據預定的選擇標準選擇性地檢查ECC。如果未選擇ECC檢查,則
使存儲器執行數據從第一位置至第二位置的晶片上拷貝,反之,則依據是否找到ECC 錯誤而按上文所述繼續進行作業。預定選擇標準可為取樣機理,所述取樣機理可以是 基於隨機的或是確定性的。在本發明的可與第一方面組合使用或單獨使用的另一方面中,使用一種傳送旗標 方法。依據是否將數據傳送至所述控制器以用於錯誤檢測及糾正作業,設定一傳送旗 標值。如果將數據傳送至主機並確定無需糾正錯誤,則不設定旗標;如果需要並成功 地執行一錯誤糾正作業,則設定所述傳送旗標。然後,依據所述旗標值做出是否需要 將一經更正形式的數據返回至所述存儲器以便拷貝進所述第二位置的決定。在本發明的再一方面中,當數據由用戶數據部分及標頭或開銷部分組成且這些部 分中的每一部分均具有其自身相關聯的ECC時,可獨立於用戶數據部分處理開銷部分 的錯誤檢測及糾正作業。在實例性實施例中,將開銷首先傳送至所述控制器用於錯誤 檢測及糾正。如果還要處理用戶數據,則其跟隨其後。具體而言,用於決定是否傳送 用戶數據的取樣機制的 一個實例是基於開銷內容。本發明的其它方面、特徵及優點包含於下文對具體代表性實施例的說明中,所述 說明應結合如下圖式來閱讀。
圖1是一其中可實施本發明的第一非易失性存儲器系統的方塊圖。圖2是一其中可實施本發明的第一非易失性存儲器系統的方塊圖。圖3是一方塊圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性系統。圖4是一流程圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數^的實例性方法。圖5是一流程圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性方法。圖6是一流g圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性方法。圖7是一流程圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性方法。圖8是一流程圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性方法。圖9是一流程圖,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性方法。圖10是一流程圖,其顯示在圖1或圖2的任一存儲器系統中用於拷貝具有一包 括標頭及數據兩者的相關聯錯誤糾正碼(ECC)的實例性方法。
具體實施方式
圖1是一其中可實施本發明的第一非易失性存儲器系統的方塊圖。大量可單獨尋 址的存儲器單元11布置成一由行及列構成的規則陣列,但肯定也可具有其它單元實體 布置方式。如上文在背景技術中及在併入本文中的參考文獻中所述,該系統尤其適用於陣列ii為NOR型。位線(在此處指定為沿單元陣列11的列延伸)通過線15與位 線解碼器及驅動器電路13電連接。字線(在本說明中指定為沿單元陣列11的行延伸) 通過線17電連接至一字線解碼器及驅動器電路19。導引柵極(其沿陣列11的存儲單 元列延伸)通過線23電連接至導引柵極解碼器及驅動器電路21。每一解碼器13、 19 及21均通過總線25從存儲器控制器27接收存儲器單元地址。所述解碼器及驅動器電 路也通過各自的控制及狀態信號線29、 31及33連接至控制器27。施加至導引柵極及 位線的電壓通過一使解碼器及驅動器電路13與21互連的總線22來協調。所述控制器 包含各種類型的寄存器及其它存儲器,包括易失性隨機存取存儲器(RAM) 28。
控制器27可經由線35連接至主機裝置(未圖示)。所述主機可為個人計算機、 筆記本計算機、數位照相機、音頻播放器、各種其它手持式電子裝置及類似裝置。圖 1所示存儲器系統將通常構建於一依據數種現行物理及電氣標準之一(例如由 PCMCIA、 CompactFlash 聯合會、MMCTM聯合會及其它組織頒布的標準)的卡中。 當呈一卡形式Bt,線35端接於卡上的一連接器中,所述連接器介接主機裝置的互補連 接器。許多卡的電接口遵循ATA標準,其中在主機看來,存儲器系統仿佛是一磁碟驅 動器。也存在其它存儲器卡接口標準。作為卡形式的替代形式,圖l所示類型的存儲 系統可永久性地嵌入主機裝置中。
解碼器及驅動器電路13、 19及21根據各自的控制及狀態線29、 31及33內的控 制信號,在陣列ll中其相應的線(在總線25上尋址)中產生適當電壓,以執行編程、 讀取及擦除功能。包括電壓電平及其它陣列參數在內的任何狀態信號均由陣列11通過 相同的控制及狀態線29、 31及33提供至控制器27。電路13內的多個讀出放大器接 收可表示陣列11內所尋址存儲器單元狀態的電流或電壓電平,並在讀取作業期間通過 線41為控制器27提供關於這些狀態的信息。為能夠並行讀取大量存儲單元的狀態, 通常使用大量的讀出放大器。在讀取及編程作業期間,通常通過電路19每次尋址一行 單元,以便存取所尋址行中由電路13及21選擇的多個單元。在一擦除作業期間,通 常將許多行的每一行中的所有單元作為一個塊一同尋址以便同時擦除。
例如圖1所示的存儲器系統的作業進一步闡述於在上文背景技術部分的NOR陣 列章節中所標明的專利及文章中,以及讓與本申請案的受讓人一SanDisk公司的其它 專利中。此外,在2001年2月26日提出申請的第09/793,370號美國專利申請案中說 明一種數據編程方法,所述申請案以引用方式併入本文中。
圖2是一其中可實施本發明的另一非易失性存儲器系統的方塊圖。包括多個布置
成矩陣形式的存儲器單元M的存儲器單元陣列1由列控制電路2、行控制電路3、 c-源極控制電路4及c-p-阱控制電路5來控制。存儲器單元陣列1可為上文在背景技術 部分中及在以引用方式併入本文中的參考文獻中所述的NAND型存儲器單元陣列。控 制電路2連接至存儲器單元陣列1的位線(BL),以用於讀取存儲在存儲器單元(M) 中的數據、用於在編程作業期間確定存儲器單元(M)的狀態、及用於控制位線(BL) 的電位電平以促進編程或禁止編程。行控制電路3連接至字線(WL),以選擇其中一 條字線(WL)、施加讀取電壓、施加與由列控制電路2所控制的位線電位電平相組合 的編程電壓、及施加與上面形成有存儲器單元(M)的p-型區域的電壓相耦合的擦除 電壓。c-源極控制電路4控制一連接至存儲器單元(M)的共用源極線(在圖2中標 記為"c-源極")。c-p-阱控制電路5則控制c-p-阱電壓。
存儲於存儲器單元(M)中的數據由列控制電路2讀出並經由I/0線及數據輸入/ 輸出緩衝器6輸出至外部I/O線。擬存儲於存儲器單元中的編程數據經由外部I/O線 輸入至數據輸入/輸出緩衝器6,並傳送至列控制電路2。外部I/0線連接至控制器43。 控制器43包括各種通常處於易失性隨機存取存儲器(RAM) 50中的各種類型的寄存 器及其它存儲器。
用於控制閃速存儲器裝置的命令數據輸入至命令電路7,命令電路7連接至與控 制器43相連的外部控制線。命令數據通知閃速存儲器所請求的是何種作業。輸入命令 被傳送至狀態機8,所述狀態機8控制列控制電路2、行控制電路3、 c-源極電路4、 c-p-阱控制電路5及數據輸入/輸出緩衝器6。狀態機8可輸出閃速存儲器的狀態數據, 例如READY/BUSY (準備就緒/忙)或PASS/FAIL (成功/失敗)。狀態機8還包括若 幹寄存器及其它易失性隨機存取存儲器45。
控制器43連接或可連接一主機系統,例如個人計算機、數位照相機或個人數字 助理。是由所述主機發起命令(例如向存儲器陣列l存儲或從存儲器陣列l讀取數據 的命令),並分別提供或接收該數據。控制器將這些命令轉換成可由命令電路7解譯及 執行的命令信號。控制器通常還包含用於將用戶數據寫入至存儲器陣列或從存儲器陣 列讀取用戶數據的緩衝存儲器。典型^存儲器系統包含一個包含控制器43的集成電路 晶片47、及一個或多個分別包含存儲器陣列及相關聯控制電路、輸入/輸出電路及狀態 機電路的集成電路晶片49。當然,目前的趨勢是將系統的存儲器陣列及控制器電路一 同集成在一個或多個集成電路晶片上。
圖1及圖2的任一存儲器系統均可嵌入作為主機系統的一部分,或者可包含於一 可以抽換方式插入主機系統中一配合插座內的存儲器卡中。此卡可包括整個存儲器系 統,或者可將帶有相關聯外圍電路的控制器及存儲器陣列設置於單獨卡中。例如,在 美國專利第5,887,145號中闡述數種卡實施方案,該專利的全文以引用方式明確地併入 本文中。
圖3是一方塊圖.,其顯示一在圖1或圖2的任一存儲器系統中用於拷貝具有相關 聯錯誤糾正碼(ECC)的數據的實例性系統。圖3顯示當將一頁數據從一個位置寫入 另一個位置時,控制器27、 43與存儲器塊320之間的交互作用。存儲器塊320包括處 於位置310、 315及325的多個頁。位置325處所示的頁顯示存儲器內典型頁的內容並 包括用戶數據330及開銷335。開銷335 (也稱作標頭)含有標頭ECC 340及數據ECC 345。在其它實施例中,使用單個ECC涵蓋標頭與數據二者。開銷335也包含關於用 戶數據或頁或塊特徵(例如編程電壓等)的額外數據350。位置310及315處的頁同 樣包含用戶數據及開銷數據,但為便於說明,不顯示所述數據。數據重定位作業由按照箭頭365將一數據單元從存儲器320內的第一位置移動至 第二位置組成。在所述實例性實施例中,此由如箭頭365a所示將所述數據頁從位置l 310移動至存儲器寄存器390、然後如箭頭365b所示返回位置2 315組成。如果不檢 查所述數據頁,則所述數據將不發送至控制器。如果檢査所述頁,則在傳送至寄存器 之後,來自第一位置310內的頁的數據被傳送至控制器電路27、 43內的緩衝器或高速 緩存(28, 50),在此處使用ECC電路305執行ECC檢查。箭頭355顯示從存儲器內 第一位置至所述控制器的數據傳送。圖1及圖2所示系統的控制器27、 43與存儲器陣 列ll、 l之間的命令/狀態信號分別提供用於執行事務的構件,並可構建於(例如)固 件內。如果存在ECC錯誤,則糾正所述錯誤,然後按箭頭360所示將經糾正的數據傳 送至存儲器內的第二位置315,然後傳送至第二位置315上。然而,如果無ECC錯誤, 則可執行晶片上拷貝,從而避免必須將所讀取的數據從所述控制器寫回所述存儲器。 晶片上拷貝作業由箭頭365a與365b顯示,其中將位置310處的頁拷貝至存儲器陣列 1、 11的塊320內的位置315處。(視所用架構而定,存儲器上可存在數個此種寄存器 或緩衝器390;例如,每一存儲器平面均可具有用於在讀取及寫入期間快取數據的主 一從式布置。)圖4是一流程圖400,其顯示當拷貝具有相關聯的錯誤糾正碼(ECC)的數據時, 圖1或圖2的任一存儲器系統的一實例性拷貝作業。流程圖400顯示一種方法,其用 於將數據從第一位置拷貝至一包括存儲器控制器27、43的系統的可重編程非易失性存 儲器的第二位置。所述數據具有相關聯的錯誤糾正碼(ECC)。在數據在存儲器內傳送 期間,使用ECC糾正所發生的錯誤。在401處開始拷貝作業,且在405處將所要拷貝的數據從第一存儲器位置讀入存 儲器寄存器,然後讀入至所述控制器上。所述控制器內所讀取的數據包含根據所述數 據計算並與其一起編程的ECC, ECC可與所讀取的數據處在同一頁內或其它地方。在 圖3所示的實例性系統中,將ECC編程在相同頁中,然而,也可將ECC存儲於他處。 在410處檢查所讀取數據上的ECC以顯露可能的ECC錯誤。在415處,確定是否已 找到ECC錯誤。如果發現ECC錯誤,則在425處糾正控制器內所讀取數據中的錯誤, 並在430處使控制器將所糾正的數據寫入至所述存儲器的第二位置,從而在499處完 成所述拷貝作業。如果不能糾正所述錯誤,則中斷所述拷貝作業或在中斷之前可進行 多次再試。如果未發現ECC錯誤,則在420處使存儲器將所述數據從所述第一位置拷 貝至所述第二位置。因此,如果無ECC錯誤且所述數據無需糾正,則可將保留在存儲 器上的拷貝直接寫入至所述第二位置。此提供了在將數據寫回至所述存儲器的過程中 無需控制器參與的優點,因此使得拷貝作業更快,同時仍保留檢查ECC的優點。本發明具有諸多會進一步改良數據重定位過程的方面。這些方面及其各種組合顯 示於圖5-10的各流程中。圖5添加不在每一重定位作業中而僅針對一重定位子集來檢 査ECC的方面。可在例如確定性或隨機(偽隨機)基礎上確定所述子集。此便無須針 對每一正重定位的數據集合將數據傳送至所述控制器。圖6利'用如圖3中所示對每一 扇區內的用戶數據及開銷使用單獨ECC碼的情況。此允許單獨地處理標頭ECC及數 據ECC。圖7添加諸多特徵至圖6以改良其性能,包括引入一旗標結構以指示所述數 據是否將從所述控制器傳送回所述主機。圖8將取樣機制添加至圖6的實施例以進一 步改良性能。取樣機制是圖5所示技術的改變形式,其中是依據取樣來決定是否檢查 數據ECC。圖9組合圖7與圖8的過程。最後,圖10類似於圖8,只是僅對整個扇區 使用單個ECC;因此,除依據取樣來決定是否檢査一既定數據集合外,圖10也與圖5 類似。所有所述重定位方法均可通過含納2004年5月13日申請的美國專利申請案第 10/846,289號的技術而得以進一步改良,所述申請案以引用方式併入本文中。此外, 雖然根據圖1及圖2中所示的實例性Flash EEPROM存儲器來提供本發明的各個方面, 但這些方面更一般地適用於在2004年5月7日申請的美國專利申請案第10/841,379 號中所述的各種非易失性存儲器系統,所述申請案也以引用方式併入本文中。圖5是一流程圖500,其顯示當拷貝具有相關聯ECC的數據時,圖1或圖2的任 一存儲器系統的實例性拷貝作業。拷貝作業提供如下額外功能在535處決定在將數 據從所述第一位置讀取405至所述數據寄存器後是否檢查ECC。可依據預定選擇標準 做出決定535。在本發明的一實例性實施例中,預定選擇標準可是一取樣機制。可使 用基於隨機性的或確定性的算法來構建所述取樣機制。例如,基於隨機性的取樣機制 可使用基於隨機的算法以隨機間隔提供對ECC的檢查。這些基於隨機性的算法眾所周 知,參見例如美國專利第6,345,001號,該專利以引用方式併入本文中,且其中在一略 微不同的情形中將這些算法應用於非易失性存儲器。對於確定性取樣,取樣機制可每 (例如)四次拷貝作業檢査一次ECC。另一選擇為,可每一拷貝作業檢查一次ECC。 每一拷貝作業均檢查ECC會提供高可靠性並防止拷貝錯誤,但在性能速度方面涉及到 折衷。在本發明的一實例性實施例中,取樣機制可使用可供用於所述系統的位,例如包 含在開銷數據335內的位及旗標。在圖3所示的實例中,用戶數據ECC及標頭數據 ECC包括在開銷數據335內,但除ECC外,開銷數據還包括一部分350。開銷數據部 分350包括邏輯塊地址(LBA)及時間戳,並可包括各種旗標,例如數據旗標、塊 類型旗標、應用專用旗標及塊旗標。LBA包括頁巻標及邏輯塊編號(LBN)。所述頁 巻標指示塊內的邏輯頁,並可與一平面或存儲器子陣列有關。LBN是一用於將物理塊 中的數據連結至其邏輯塊地址的欄位。此允許主機系統査找並擷取先前寫入的數據。 時間戳指示數據的相對年齡並與邏輯塊地址欄位相關聯。每當將一邏輯塊指配給一新 物理塊時,即為該塊增加所述時間戳。該值可用於區別具有相同邏輯塊地址的塊中哪 一個塊是最近寫入的塊。可將與塊或頁相關聯的其它信息用於取樣目的,包括(例如) 熱計數及關於需如何頻繁地擦除所述塊的信息。另一選擇為,取樣機制可涉及不包括 有實際數據且單獨存儲但仍與所述頁相關聯的跟蹤機制。在本發明的一實例性實施例中,所述取樣機制將LBA的最後兩個位與時間戳的最後兩個位相比較。然後根據所述比較結果選擇ECC檢查。此有效地提供四分之一取 樣,從而每四次拷貝作業檢査一次ECC。此取樣進一步改良存儲器性能。如果使用取樣機制,則在535處決定是否檢査與所讀取數據相關聯的ECC。如果 在535處的決定指示將不檢査ECC,則在420處使存儲器將數據從所述第一位置拷貝 至所述第二位置,從而於599處完成所述拷貝作業。如果在535處所述決定指示將要 檢査ECC,則按照上文在圖4中410、 415、 425及430處所述繼續進行處理。圖6是一流程圖600,其顯示當拷貝具有相關聯的ECC的數據時圖1或圖2的任 一存儲器系統的實例性拷貝作業。在該實例中,所述可重編程非易失性存儲器內第一 位置與第二位置的內容包括用戶數據及與所述用戶數據相關聯的標頭數據,其中所述 標頭數據包括與所述用戶數據相關聯的信息,例如ECC信息。用戶數據ECC及標頭 數據ECC可存儲於所述頁內或其它地方,但在該特定實例中,用戶數據ECC與標頭 數據ECC兩者均如圖3所示及上文所述存儲於所述頁的開銷部分內。注意,雖然該特 定實例闡述單獨的標頭與數據ECC,然而,所述技術同等地適用於單一 ECC涵蓋標 頭與數據兩者的情況。在圖6-9所示的實例中,單獨檢査標頭數據的ECC(作為一開始 步驟)以確定所述用戶數據的ECC是否值得檢查;下文針對圖IO論述這些技術如何適 用於標頭及數據共用ECC的情況的實例。在圖1及圖2中所示存儲器系統的實例中, 如果發現標頭數據具有無法糾正的ECC錯誤,則假設與該標頭數據相關聯的用戶數據 無效。在601處開始流程圖600中所示的拷貝作業,並在605處發出一讀取命令。讀取 命令被發送至控制器27、 43,以開始對存儲器單元陣列ll、 1內第一位置的讀取。所 述第一位置的內容可包括用戶數據及與所述用戶數據相關聯的標頭數據。控制器27、 43解釋所述讀取命令並將所述標頭數據傳送至控制器27、 43的隨機存取存儲器 (RAM) 28、 50。所述控制器的RAM是用作所要拷貝的位置的內容的臨時存儲位置。 以此方式使用的控制器RAM也稱作暫存RAM或SPR。在615處檢查標頭數據以確定在標頭數據中是否存在ECC錯誤,如果存在錯誤, 則於620處確定所'述標頭數據ECC錯誤是否可糾正。如果所述標頭數據ECC錯誤不 可糾正,則於650處設定一指示符以通知所述控制器所述用戶數據無效。此一指示符 的一實例是因應所述用戶數據是有效還是無效來設定或清除的數據旗標位。所述數據 旗標位可包含於開銷部分335或可存儲在其它地方。
如果所述標頭數據ECC錯誤可糾正,則於623處糾正所述錯誤,且於625處將 用戶數據讀入或傳送至所述控制器RAM。在一標準晶片上拷貝作業中,用戶數據從存 儲器陣列l、 11中的第一位置拷貝至存儲器陣列1、 ll中的第二位置,而非被傳送至 控制器27、 43。在多次晶片上拷貝作業後,數據會隨時間變差而包括足夠數量的無法 使用ECC糾正的多位錯誤。在625處將用戶數據傳送至控制器RAM 28、 50會產生關於用戶數據的ECC狀 態。此處將使用ECC狀態檢査來防止存儲於一存儲器位置的用戶數據在未曾被讀取且 未對所述用戶數據進行任何ECC檢査的情況下而被拷貝多次。如果在630處發現關於所述用戶數據的ECC錯誤,則於635處確定所述ECC錯 誤是否可糾正。如果所述ECC錯誤不可糾正,則於650處設定一指示符以通知所述控 制器所述用戶數據無效。如上所述,所述指示符是一用於實現該目的的數據旗標位。 根據所述用戶數據狀態是有效或無效來設定或清除所述數據位(反之亦然)。如果所述ECC錯誤可糾正,則於637處糾正所述用戶數據,且然後於640處傳 送回所述存儲器晶片。在640處,可使所述控制器完成在640處將數據傳送回所述存 儲器晶片的傳送。在數據傳送之後,在645處將一新標頭傳送回所述存儲器晶片。在 其可能己作為拷貝作業的結果得到更新的意義上,所述標頭數據為新的。即使在620 或635處所述ECC錯誤不可糾正,仍於645處將所述新標頭拷貝回去,這是因為其將 含有在650處經設定以指示所述錯誤的數據旗標位。此允許將所述錯誤旗標存儲於缺 陷扇區中,以便當存取所述扇區時所述信息可供使用。在於699處完成當前拷貝作業 之前,在646處發出新的尋址及寫入命令。如果於630處確定未發現關於所述用戶數據的ECC錯誤,則用戶數據不被寫回 至所述存儲器。如果未發現ECC錯誤則不將用戶數據部分寫回至所述存儲器的一個原 因是利用晶片上拷貝作業的優點。圖7是一流程圖700,其顯示當拷貝具有相關聯錯誤糾正碼(ECC)的數據時圖 1或圖2的任一存儲器系統的實例性拷貝作業。流程圖700給流程圖600中所示的方 法提供額外的功能,包括多次嘗試ECC檢査的再試機制及指示何時將數據傳送回所述 存儲器晶片的旗標設定/清除機制。在721處,再試機制提供一其中檢查一再試計數值的決定點。如果於620處標頭 ECC錯誤不可糾正或於635處用戶數據ECC錯誤不可糾正,則到達所述決定點721。 如果於721處再試次數用完,則於650處繼續進行處理,在此處設定一數據旗標位以 指示無效數據。否則,如果再試次數未用完,則於722處增加再試計數,且在605處 繼續對另一讀取命令進行處理。再試計數值在確定標頭ECC不可糾正時提供多次再 試。再試計數值可為預定的或基於適合於拷貝作業的某個標準。.如果於630處發現關於用戶數據的錯誤,則於635處確定所述用戶數據ECC錯 誤是否可糾正。如果所述ECC錯誤不可糾正,則於721處檢査所述再試計數值,且如 果再試次數已用完,則於650處設定一指示符以通知所述控制器所述數據無效。上文
對數據無效指示符予以進一步闡述。如果於635處確定所述數據ECC錯誤可糾正,則 於736處糾正所述ECC錯誤,並於756處設定一數據傳送旗標。數據傳送旗標為一指 示數據正確並應傳送回所述存儲器晶片的指示符。數據傳送旗標可作為所述代碼旗標 之一存儲於所述控制器中或可存儲於他處。然後於645處將新的或經更新的標頭傳送 回所述存儲器晶片。然後於755處檢查數據傳送旗標。如果於755處設定所述數據傳 送旗標,則於640處將數據傳送回所述存儲器晶片。如果正拷貝多個扇區,則接下來 在741處確定是否存在更多要處理的扇區,且如果存在,則於610處將下一扇區的標 頭傳送至控制器RAM內。然後按照上文所述處理下一扇區。如果於741處未發現有 更多扇區,則處理於799處結束。如果於630處未發現數據ECC錯誤,則於757處清除一數據傳送旗標以指示所 述數據不應被傳送回存儲器晶片。在未發現數據ECC錯誤的情況下於757處清除所述 數據傳送旗標可通過無需將數據傳送回所述存儲器晶片來提供性能優化。如果不存在 關於所述數據的ECC錯誤,則被拷貝的數據可能在一晶片上拷貝中是正確的,此處使 所述存儲器將數據從第一位置拷貝至第二位置通常即可。通過在事務中不牽涉控制器 且轉而通過使用所述晶片將所述數據從所述第一位置拷貝至所述晶片上的第二位置來 改良性能。圖8是一流程圖800,其顯示當拷貝具有相關聯錯誤糾正碼(ECC)的數據時圖 1或圖2的任一存儲器系統的實例性拷貝作業。流程圖800添加對可糾正標頭進行優 化的特徵並執行一取樣機制以確定是否檢查ECC。這些特徵將於下文中予以更詳細說 明。另夕卜,流程圖800包括上述流程圖700中的諸多特徵,例如再試機制,但不包括 旗標設定/清除機制以指示何時將數據傳送回所述存儲器晶片。下文將僅詳細闡述所述 額外特徵。關於進一步的信息,參見上文對圖6-7的論述。如果於620處確定所述標頭ECC錯誤是可糾正的,則於723處糾正所述標頭ECC 。 此處,可於870處做出對一可糾正標頭進行優化的決定。如果所述標頭可糾正,則可 假設不必每一單次拷貝作業均檢查ECC並可使用一取樣機制來提供最佳性能。如果於 870處選擇所述標頭優化,則將不在每一拷貝作業期間均檢査數據ECC,而是根據一 取樣機制予以檢査,下文將進一步闡述所述取樣機制。在所述實例性實施例的一變化 中,即使於620處所述標頭不可糾正,所述數據可仍被傳送至所述控制器以用於錯誤 檢測/糾正作業,這是因為可重建所述扇區的標頭。如果於870處選擇標頭優化,則於875處檢查一再試閾值。可根據結合721及722 所論述的再試計數值在處理中的一不同點執行該再試閾值,並可依據何種條件適合而 將所述再試閾值設定至不同數值。875處的再試閾值的一個用途是視需要防止拷貝過 程在錯誤條件中的標頭優化。再試閾值可是預定的或基於某一適合於拷貝作業的標準。 875處的再試閾值檢查是用於確定是否於860處應用一取樣機制。如果於875處超過 再試閾值,則不選擇取樣機制,且於625處,處理繼續將所述數據傳送至控制器RAM。如果於870處選擇所述標頭優化,且於875處尚未超過再試閾值,則於860處執
行一取樣機制。取樣機制是預定選擇標準的一實例,其可用於確定是否檢査關於所述 數據的ECC。所述取樣機制可是基於隨機性的或是確定性的,並在圖5的論述中更詳 細地予以闡述。檢査應用取樣機制的結果,並於865處確定是否需要檢査數據ECC。如果於875 處確定需要檢查所述數據ECC,則於625處,處理繼續將所述數據傳送至控制器RAM。 如果於865處將不檢查數據ECC,則於625處不存在數據傳送至所述控制器存儲器或 從控制器存儲器的傳送,這是因為在此種情況下不在檢查數據ECC。如果需要檢查所 述數據ECC,則無需將所述數據傳送至所述控制器。其餘的處理步驟類似於上文論述圖6-7中所說明的那些步驟。圖9是一流程圖900,其顯示當拷貝具有相關聯錯誤糾正碼(ECC)的數據時圖 1或圖2的任一存儲器系統的實例性拷貝作業。流程圖900通過組合上文所述圖6-8 的特徵來提供改良的性能,所述特徵包括選擇性晶片上拷貝及其中可使用一取樣機制 確定何時執行所述ECC檢査的選擇性ECC檢查。更具體而言,其將圖8的步驟860、 865、 870及875的優化及取樣添加至圖7的流程。圖6-9全部是針對對標頭及用戶數據使用單獨ECC的情況。引入圖7-9中的諸多 特徵也可應用於組合ECC的情況(或具有未利用的單獨ECC的情況)。例如,圖10 引入在圖8中所見的諸多特徵,但僅使用單個ECC。更具體而言,所述過程在1001處以發出一讀取命令開始,其中再試計數值在605 處被設定為0。在860處使用取樣機制以於865處確定是否檢査正被重定位的扇區。 如果不檢查,則執行所述扇區的一晶片上拷貝,且所述過程在741處轉至其它扇區(如 果存在更多扇區),或在1099處終止(如果不存在更多扇區)。如果確定需要檢査所述 扇區,則於610/625處將標頭及用戶數據兩者從所述存儲器寄存器傳送至所述控制器。 除一起處理標頭及用戶數據而非單獨處理標頭ECC外,所述過程的其餘部分跟在 615/630後,如同其跟隨在圖8中630後一樣。儘管己針對具體實例性實施例闡述了本發明的各個方面,但應了解,本發明在隨 附權利要求書的整個範疇內受到保護。上文所涉及的專利、專利申請案、文章及書籍 部分的全文均特此以引用方式明確地併入本背景技術部分中。
權利要求
1、 一種用於在包括控制器及可編程非易失性存儲器的存儲器系統中將數據從所 述存儲器的第一位置重定位至所述存儲器的第二位置的方法,所述方法包括將所述數據從所述第一位置讀入所述存儲器上的寄存器; 在所述控制器中確定是否對所述數據執行錯誤檢測及糾正作業;及 響應於確定不對所述數據執行錯誤檢測及糾正作業,將所述數據從所述寄存器寫 入至所述第二位置。
2、 一種'用於在包括控制器及可編程非易失性存儲器的存儲器系統中將數據從所 述存儲器的第^位置重定位至所述存儲器的第二位置的方法,所述方法包括將所述數據從所述第一位置讀入所述存儲器上的寄存器; 在所述控制器中確定是否對所述數據執行錯誤檢測及糾正作業; 響應於確定對所述數據執行錯誤檢測及糾正作業,將所述數據的拷貝傳送至所述 控制器,同時將所述數據保持在所述寄存器中;及對所述控制器中的所述數據執行錯誤糾正及檢測作業。
3、 如權利要求2所述的方法,其中所述數據包括關聯的錯誤糾正碼(ECC)且 所述錯誤糾正及檢測作業包括-依據所述相關聯的ECC確定所述數據是否含有錯誤;及 響應於確定所述數據含有錯誤,對所述數據執行糾正作業。
4、 如權利要求3所述的方法,其中如果成功地完成所述錯誤糾正作業,則所述 方法進一步包括將所述經糾正的數據從所述控制器傳送至存儲器;及 將所述經糾正的數據寫入至所述第二位置。
5、 如權利要求3所述的方法,其中如果未成功完成所述錯誤糾正,則所述方法 進一步包括 設定與所述數據相關聯的錯誤旗標。
6、 如權利要求5所述的方法,其中所述數據包括標頭部分及用戶數據部分,並將所述錯誤旗標寫入所述標頭部分。
7、 如權利要求1或2中任一權利要求所述的方法,其中所述確定是否執行錯誤檢測及糾正作業是確定性機制。
8、 如權利要求1或2中任一權利要求所述的方法,其中所述確定是否執行錯誤 檢測及糾正作業是基於隨機或偽隨機的。
9、 如權利要求1或2中任一權利要求所述的方法,其中所述確定是否執行錯誤 檢測及糾正作業是基於取樣機制。
10、 如權利要求9所述的方法,其中所述取樣機制是基於與所述數據相關聯的開 銷數據。
11、 如權利要求10所述的方法,其中所述取樣機制包括將與所述數據相關聯的 時間戳與所述數據的邏輯地址信息進行比較。
12、 如權利要求2所述的方法,其進一步包括依據是否已作為所述執行錯誤檢測及糾正作業的一部分糾正了所述數據來設定 旗標值;如果所述旗標值經設定以指示所述數據已被糾正,則將所述經糾正的數據傳送回 所述寄存器;及隨後將寄存器的內容寫入至所述第二存儲器位置。
13、 如權利要求12所述的方法,其中所述數據具有相關聯的錯誤糾正碼(ECC) 且所述錯誤檢測及糾正作業包括依據所述相關聯的ECC確定所述數據是否含有錯誤;及 使用所述相關聯的ECC糾正所述數據,其中響應於成功地完成所述糾正來設定所述旗標值。
14、 如權利要求13所述的方法,其進一步包括響應於未成功地完成所述糾正,設定與所述數據相關聯的錯誤旗標。
15、 如權利要求14所述的方法,其中所述數據包括開銷部分及用戶數據部分,且將所述錯誤旗標寫入所述開銷部分。
16、 如權利要求12所述的方法,其中所述數據包括用戶數據部分及開銷部分, 且其中所述用戶數據具有相關聯的錯誤糾正碼(ECC)且所述開銷部分具有不同的相 關聯錯誤糾正碼(ECC),其中所述傳送所述數據的拷貝及所述執行錯誤檢測及糾正作 業將所述數據的開銷部分的拷貝從所述寄存器傳送至所述控制器,同時將所述數據 保持在所述寄存器中;及依據所述相關聯的開銷ECC在所述控制器中對所述數據的開銷部分執行錯誤檢 測及糾正作業,並響應於對所述數據的開銷部分完成地成功糾正作業,將所述經糾正 的開銷部分傳送回所述寄存器;及,響應於對所述數據的開銷部分的成功錯誤檢測及糾正作業,將所述數據的用戶部分的拷貝從所述寄存器傳送至所述控制器,同時將所述數據 保持在所述寄存器中;及依據所述相關聯的用戶數據ECC在所述控制器中對所述數據的用戶部分執行錯 誤檢測及糾正作業,其中依據是否已糾正所述用戶數據部分來設定所述旗標值。
17、 一種用於在包括控制器及可編程非易失性存儲器的存儲器系統中將數據從所 述存儲器的第一位置重定位至所述存儲器的第二位置的方法,其中所述數據包括用戶 數據部分及開銷部分,且其中所述用戶數據具有相關聯的錯誤糾正碼(ECC)且所述 開銷部分具有不同的相關聯錯誤糾正碼(ECC),所述方法包括 將所述數據從所述第一位置讀入所述存儲器上的寄存器;隨後將所述數據的標頭部分的拷貝傳送至所述控制器,同時將所述數據保持在所 述寄存器中;依據所述相關聯的開銷ECC在所述控制器中對所述開銷部分執行錯誤糾正及檢 測作業;如果對所述開銷部分的所述錯誤糾正及檢測作業需要糾正所述開銷部分,則隨後 響應於成功地完成對所述開銷的所述錯誤糾正及檢測作業將所述經糾正的開銷傳送回 所述寄存器;及在所述對所述開銷部分執行錯誤糾正及檢測作業之後,在所述控制器中確定是否 對所述數據的用戶數據部分執行錯誤檢測及糾正作業。
18、 如權利要求17所述的方法,其中所述確定是否對所述數據的用戶數據部分 執行錯誤檢測及糾正作業包括.響應於確定所述開銷部分需要糾正,將所述用戶數據部分的拷貝傳送至所述控制 器,同時將所述數據保持在所述寄存器中;及在所述控制器中對所述用戶數據部分執行錯誤糾正及檢測作業。
19、 如權利要求17所述的方法,其進一步包括響應於確定不對所述用戶數據部分執行錯誤檢測及糾正作業,將所述數據從所述 寄存器寫入至所述第二位置。
20、 如權利要求17所述的方法,其進一步包括響應於確定對所述用戶數據部分執行錯誤檢測及糾正作業,將所述用戶數據部分 的拷貝傳送至所述控制器,同時將所述數據保持在所述寄存器中;及 在所述控制器中對所述用戶數據部分執行錯誤糾正及檢測作業。
21、 如權利要求18或20中任一權利要求所述的方法,其中對所述用戶數據部分 的所述錯誤糾正及檢測作業包括依據所述相關聯的用戶部分ECC確定所述用戶數據部分是否含有錯誤;及 響應於確定所述用戶數據部分含有錯誤,對所述數據執行糾正作業。
22、 如權利要求21所述的方法,其中如果成功地完成對所述用戶數據部分的所 述錯誤糾正作業,則所述方法進一步包括將所述經糾正的用戶數據部分從所述控制器傳送至所述存儲器;及 將所述經糾正的數據寫入至所述第二位置。
23、 如權利要求21所述的方法,其中如果未成功地完成對所述用戶數據部分的 所述錯誤糾正,則所述方法進一步包括設定與所述數據相關聯的錯誤旗標。
24、 如權利要求23所述的方法,其中將所述錯誤旗標寫入所述開銷部分。
25、 如權利要求19或20中任一權利要求所述的方法,其中所述確定是否對所述 用戶數據部分執行錯誤檢測及糾正作業是確定性機制。
26、 如權利要求19或20中任一權利要求所述的方法,其中所述確定是否對所述用戶數據部分執行錯誤檢測及糾正作業是基於隨機或偽隨機的。
27、 如權利要求19或20中任一權利要求所述的方法,其中所述確定是否對所述 用戶數據部分執行錯誤檢測及糾正作業是基於取樣機制。
28、 如權利要求27所述的方法,其中所述取樣機制是基於與所述數據相關聯的 所述開銷數據。
29、 如權利要求28所述的方法,其中所述取樣機制包括將與所述數據相關聯的 時間戳與所述數據的邏輯地址信息進行比較。
30、 如權利要求20所述的方法,其進一步包括-依據是否已作為所述執行錯誤檢測及糾正作業的一部分糾正了所述數據來設定 旗標值;如果所述旗標值經設定以指示所述數據已被糾正,則將所述經糾正的數據傳送回 所述寄存器;及隨後將所述寄存器的內容寫入至所述第二存儲器位置。
31、 如權利要求30所述的方法,其中所述數據具有相關聯的錯誤糾正碼(ECC) 且所述錯誤檢測及糾正作業包括依據所述相關聯的ECC確定所述數據是否含有錯誤;及 使用所述相關聯的ECC糾正所述數據, 其中響應於成功地完成所述糾正來設定所述旗標值。
32、 如權利要求31所述的方法,其進一步包括 響應於未成功地完成所述糾正來設定與所述數據相關聯的錯誤旗標。
33、 如權利要求32所述的方法,其中所述數據包括開銷部分及用戶數據部分, 且將所述錯誤旗標寫入所述開銷部分。
34、 如權利要求30所述的方法,其中所述數據包括用戶數據部分及開銷部分, 且其中所述用戶數據具有相關聯的錯誤糾正碼(ECC)且所述開銷部分具有不同的相 關聯錯誤糾正碼(ECC),其中所述傳送所述數據的拷貝及所述執行錯誤檢測及糾正作 業將所述數據的開銷部分的拷貝從所述寄存器傳送至所述控制器,同時將所述數據 保持在所述寄存器中;及依據所述相關聯的開銷ECC,在所述控制器中對所述數據的開銷部分執行錯誤檢 測及糾正作業,並響應於完成對所述數據的開銷部分的成功糾正作業而將所述經糾正 的開銷部分傳送回所述寄存器;及,響應於對所述數據的開銷部分的成功錯誤檢測及糾正作業,將所述數據的用戶部分的拷貝從所述寄存器傳送至所述控制器,同時將所述數據 保持在所述寄存器中;及 依據所述相關聯的用戶數據ECC,在所述控制器中對所述數據的用戶部分執行錯 誤檢測及糾正作業,其中依據是否已糾正所述用戶數據部分來設定所述旗標值。
35、 一種用於在拷貝作業期間避免將具有相關聯錯誤糾正碼(ECC)的數據從可重編程非易失性存儲器的第一位置傳送至存儲器控制器的方法,其包括 應用取樣方法來使正被拷貝的數據的降級最小化;以預定頻率檢查所述數據的ECC,其中所述頻率足以避免所述數據的質量顯著降級。
36、 如權利要求35所述的方法,其中預定的選擇標準包括取樣機制。
37、 如權利要求36所述的方法,其中所述取樣機制是基於隨機性的。
38、 如權利要求36所述的方法,其中所述取樣機制是確定性的。
39、 如權利要求36所述的方法,其中所述取樣機制包括將與所述可重編程非易失性存儲器內邏輯扇區的編號相關聯的多個位與時間戳 進行比較以產生比較結果;及根據所述比較結果來選擇檢査ECC。
40、 一種用於將具有相關聯錯誤糾正碼(ECC)的數據從包括存儲器控制器的系 統的可重編程非易失性存儲器的第一位置拷貝至第二位置的方法,所述方法包括-將所述數據從所述第一位置讀入所述存儲器上的高速緩存; 確定是否依據預定的選擇標準檢查所述ECC,且如果未選擇ECC檢査,則使所述存儲器將所述數據從所述高速緩存拷貝至所述第二位置;及如果選擇ECC檢査,則在所述控制器中檢査關於所述所讀取數據的所述ECC;其包括如果發現ECC錯誤,則在所述控制器中糾正關於所述所讀取數據的所述ECC錯 誤,並使所述控制器將所述經糾正的數據寫入至所述存儲器的第二位置;及如果未發現ECC錯誤,則使所述存儲器將所述數據從所述高速緩存拷貝至所述 第二位置。
41、 如權利要求40所述的方法,其中所述預定的選擇標準包括取樣機制。
42、 如權利要求41所述的方法,其中所述取樣機制是基於隨機性的。
43、 如權利要求41所述的方法,其中所述取樣機制是確定性的。
44、 如權利要求41所述的方法,其中所述取樣機制包括將與所述可重編程非易失性存儲器內邏輯扇區的編號相關聯的多個位與時間戳 進行比較以產生比較結果;及根據所述比較結果選擇檢查ECC。
全文摘要
本發明提供用於改良數據重定位作業的方法。在一個方面中,並非在每一重定位作業中依據數據的相關聯錯誤糾正碼(ECC)檢查所述數據的質量,而是確定是否依據預定的選擇標準檢查ECC,且如果不選擇ECC檢查,則使存儲器執行將所述數據從第一位置拷貝至第二位置的晶片上拷貝。如果選擇ECC檢查,則將所述數據傳送至控制器並對其進行檢查;當發現錯誤時,執行糾正作業,且當未發現錯誤時,執行晶片上拷貝。所述預定的選擇標準可包括取樣機制,所述取樣機制可為基於隨機性的或是確定性的。在另一方面中,引入數據傳送旗標以指示數據已被糾正並應被傳送回所述存儲器。再一方面分別考慮標頭及用戶數據是否各自具有不同的相關聯ECC。
文檔編號G06F12/02GK101124544SQ200580047542
公開日2008年2月13日 申請日期2005年12月15日 優先權日2004年12月21日
發明者安德魯·湯姆林 申請人:桑迪士克股份有限公司