TWI515729B - 資料儲存裝置及其錯誤校正方法 - Google Patents

資料儲存裝置及其錯誤校正方法 Download PDF

Info

Publication number
TWI515729B
TWI515729B TW102138403A TW102138403A TWI515729B TW I515729 B TWI515729 B TW I515729B TW 102138403 A TW102138403 A TW 102138403A TW 102138403 A TW102138403 A TW 102138403A TW I515729 B TWI515729 B TW I515729B
Authority
TW
Taiwan
Prior art keywords
page
correction
read
voltage setting
voltage
Prior art date
Application number
TW102138403A
Other languages
English (en)
Other versions
TW201445569A (zh
Inventor
陳俊儀
陳俊輝
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to CN201410073801.0A priority Critical patent/CN104217761B/zh
Priority to US14/271,897 priority patent/US9361999B2/en
Priority to KR1020140066543A priority patent/KR101677531B1/ko
Publication of TW201445569A publication Critical patent/TW201445569A/zh
Application granted granted Critical
Publication of TWI515729B publication Critical patent/TWI515729B/zh
Priority to US14/989,080 priority patent/US10157682B2/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

資料儲存裝置及其錯誤校正方法
本發明係關於一種記憶體裝置之錯誤校正方法;特別係關於一種校正電壓分佈的錯誤校正方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks)。各區塊包括複數頁(pages)。由於快閃記憶體的存取過程中可能會發生資料內容的錯誤,所以目前在存入資料時係將原始的資料進行編碼後,再儲存編碼後的資料至快閃記憶體中,而資料讀取時則將編碼的資料讀出,再解碼所讀出的編碼資料來得到原先的資料。編/解碼操作雖然能夠進行除錯,然而僅只能更正部分的位元錯誤。而當發生超過一定程度以上的錯誤時,快閃記憶體控制器在執行完解碼操作後將發現無法對編碼資料進行有效解碼。
本發明所提供之資料儲存裝置以及錯誤校正方法 可藉由校正電壓分佈程序對目標頁面外之其它頁面進行讀取,以產生讀取干擾效應,並藉由讀取干擾效應校正在讀取過程中發生錯誤之目標頁面的臨界電壓分佈。另外,電壓設定程序可對目標頁面進行重複讀取,以根據不同之讀取電壓讀取目標頁面之資料。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。控制器用以根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一第一頁面進行一第一次讀取動作,並且當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,控制器更用以執行一校正電壓分佈程序,其中在校正電壓分佈程序中,控制器更用以對快閃記憶體中相應於一第二字元線之一第二頁面進行一校正讀取動作,並且校正讀取動作係對第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正第一頁面之臨界電壓的分佈。
另外,控制器更用以在校正電壓分佈程序執行完畢後,再對第一頁面進行一第二次讀取動作,並且判斷相應於校正讀取動作已執行之次數的一校正計數是否超過一第一既定值,以當校正計數超過第一既定值時,將第一頁面標記為一損壞頁面。
在本發明提供之另一實施例中,當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,控制器更用以進行一電壓設定程序,其中在電壓設定程序中,控制器用以根據一重複讀取表,對快閃記憶體中之一暫存器進行一 電壓設定動作,以將暫存器中之數值,作為快閃記憶體之讀取電壓。
另外,控制器更用以在電壓設定程序執行完畢後,藉由所設定之快閃記憶體之讀取電壓對第一頁面進行一第二次讀取動作,並且判斷相應於電壓設定動作已執行之次數的一重複讀取計數是否超過一第二既定值,以當重複讀取計數超過第二既定值時,將第一頁面標記為一損壞頁面。在本發明之一實施例中,電壓設定程序可在校正電壓分佈程序之後執行。在本發明之另一實施例中,電壓設定程序可在校正電壓分佈程序之前執行。
本發明另提供一種錯誤校正方法,適用於一資料儲存裝置。錯誤校正方法包括根據一主機之一讀取命令對資料儲存裝置中之快閃記憶體中相應於一第一字元線之一第一頁面進行一第一次讀取動作;判斷第一次讀取動作讀取第一頁面時,是否發生無法藉由編解碼進行修復之錯誤;當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,執行一校正電壓分佈程序;以及在校正電壓分佈程序執行完畢後,對第一頁面進行一第二次讀取動作,其中校正電壓分佈程序包括對快閃記憶體中相應於一第二字元線之一第二頁面進行一校正讀取動作,並且校正讀取動作係對第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正第一頁面之臨界電壓的分佈。
另外校正電壓分佈程序更包括判斷相應於校正讀取動作已執行之次數的一校正計數是否超過一第一既定值;以 及當校正計數超過第一既定值時,將第一頁面標記為一損壞頁面。
本發明所提供之錯誤校正方法更包括當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,進行一電壓設定程序,其中電壓設定程序包括根據一重複讀取表,對快閃記憶體中之一暫存器進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體之讀取電壓。另外,在電壓設定程序執行完畢後,藉由所設定之快閃記憶體之讀取電壓對第一頁面進行一第二次讀取動作。在本發明之一種錯誤校正方法的實施例中,電壓設定程序在校正電壓分佈程序之前執行。在本發明之另一種錯誤校正方法的實施例中,或者電壓設定程序在校正電壓分佈程序之後執行。
另外,電壓設定程序更包括判斷相應於電壓設定動作之次數的一重複讀取計數是否超過一第二既定值,其中當重複讀取計數超過第二既定值時,將第一頁面標記為一損壞頁面。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
502、504‧‧‧標準線
S200-S212、S300-S320、S400-S420‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之錯誤校正方法之流程圖。
第3A-3B圖係本發明之另一種實施例之錯誤校正方法之流程圖。
第4A-41B圖係本發明之另一種實施例之錯誤校正方法之流程圖。
第5A圖係本發明之經由電壓設定程序後對目標頁面進行讀取之模擬圖。
第5B圖係本發明之經由校正電壓分佈程序後對目標頁面進行讀取之模擬圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162以及一永久記憶體(如,唯讀記憶體ROM)164。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。快閃記憶體180包括複數頁面以及複數字元線與複數位元線,其中每一字元線用以連接至少一頁面,以選擇所欲讀取之頁面。舉例而言,當快閃記憶體180係為單階儲存單元(Single-Level Cell,SLC)時,一條位元線用以連接至一個頁面。當快閃記憶體180係為多階儲存單元(Multi-Level Cell,MLC)時,一條位元線用以連接至兩個頁面。當快閃記憶體180係為三階儲存單元(Triple-Level Cell,TLC)時,一條位元線用以連接至三個頁面,但本發明不限於此。
根據本案所揭露之技術,韌體係設計來提供主機120對快閃記憶體180進行讀取發生錯誤時,所需的錯誤校正方法,用以補救無法依正常程序讀取之資料。本發明所揭露的錯誤校正方法包括一校正電壓分佈程序,但本發明不限於此。在本發明之另一實施例中,錯誤校正方法包括一校正電壓分佈程序以及一電壓設定程序。本發明所揭露之校正電壓分佈程序係藉由讀取目標頁面外之其它頁面所產生之讀取干擾效應(Read disturbance),校正在讀取過程中發生錯誤之目標頁面的臨界電壓分佈。另外,本發明所揭露之電壓設定程序係用以根據一重新讀取表(Read Retry Table)重新設定在讀取過程中發生錯誤之目標頁面的讀取電壓,以對目標頁面進行重複讀取(Read Retry)。值得注意的是,上述之目標頁面係主機120傳送至資料儲存裝置140的讀取命令,所要求讀取之頁面。詳細動作如下所述。
在本發明之一實施例中,控制器160用以根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一第一頁面進行一第一次讀取動作。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中連接至第一字元線之第一頁面進行第一次讀取動作。當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160用以對快閃記憶體180中相應於一第二字元線之一第二頁面進行一校正讀取動作,其中第一字元線與第二字元線不相同,並且第一頁面與第二頁面不相同。換言之,控制器160用以根據 主機120之一讀取命令對快閃記憶體180中連接至第二字元線之第二頁面進行校正讀取動作。值得注意的是,校正讀取動作係對第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正第一頁面之臨界電壓的分佈。既定校正次數可為1次、5次、10次、20次、30次、50次、100次或者500次等,經由發明人根據校正程序成功率的實驗數據所設計之數值,本發明不限於此。接著,控制器160更用以在校正電壓分佈程序執行完畢後,再對第一頁面進行一第二次讀取動作。當控制器160在第二次讀取動作中成功讀取第一頁面時,控制器160將成功讀取之第一頁面的資料傳送至主機120。
在本發明之一實施例中,控制器160更可在第二次讀取動作依然無法成功讀取第一頁面後,重複執行校正電壓分佈程序,直到第一頁面之資料可成功被讀取,或者直到校正電壓分佈程序被重複執行之次數達到一第一既定值為止。舉例而言,第一既定值可為1次、5次、10次、20次、50次、100次或者500次等,經由發明人根據校正程序後重讀目標頁面之成功率的實驗數據所設計的數值,本發明不限於此。當校正電壓分佈程序被重複執行之次數達到第一既定值時,控制器160更用以將第一頁面標記為一損壞頁面。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對校正電壓分佈程序被重複執行之次數進行一校正計數。每當控制器160執行一次校正電壓分佈程序時,校正計數則加一。
在本發明之另一實施例中,當校正電壓分佈程序 被重複執行之次數達到第一既定值時,控制器160執行電壓設定程序。換言之,在本實施例中,電壓設定程序在校正電壓分佈程序之後執行。在電壓設定程序中,控制器160用以根據重複讀取表,對快閃記憶體180中之一暫存器(未圖示)進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體180之讀取電壓。舉例而言,重複讀取表可儲存於永久記憶體164中。值得注意的是,在控制器160對第一頁面進行第一次讀取動作時,係根據一預設之讀取電壓對第一頁面進行讀取的。接著,控制器160更用以在電壓設定程序執行完畢後,藉由所設定之快閃記憶體180之讀取電壓對第一頁面進行一第二次讀取動作。當控制器160在第二次讀取動作中成功讀取第一頁面時,控制器160將成功讀取之第一頁面的資料傳送至主機120。
在本發明之一實施例中,控制器160更可在電壓設定程序後所執行之第二次讀取動作依然無法成功讀取第一頁面後,重複執行校正電壓分佈程序及/或電壓設定程序,直到第一頁面之資料可成功被讀取,或者直到電壓設定程序被重複執行之次數達到一第二既定值為止。舉例而言,第二既定值可為1次、5次、10次、20次、50次、100次或者500次等,經由發明人根據電壓設定程序重讀目標頁面後之成功率的實驗數據所設計的數值,本發明不限於此。當電壓設定程序被重複執行之次數達到一第二既定值時,控制器160更用以將第一頁面標記為一損壞頁面。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對電壓設定程序被重複執行之次數進行一重複讀取計數。每 當控制器160執行一次電壓設定程序時,重複讀取計數則加一。
在本發明之其它實施例中,電壓設定程序在校正電壓分佈程序之前執行。舉例而言,控制器160用以根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一第一頁面進行一第一次讀取動作。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中連接至第一字元線之第一頁面進行第一次讀取動作。當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,控制器160執行電壓設定程序。在電壓設定程序中,控制器160根據重複讀取表,對快閃記憶體180中之一暫存器進行電壓設定動作,以將暫存器中之數值,作為快閃記憶體180之讀取電壓,其它電壓設定程序之細節請參考上述說明,在此不再贅述。接著,控制器160更用以在電壓設定程序執行完畢後,藉由所設定之快閃記憶體180之讀取電壓對第一頁面進行一第二次讀取動作。當控制器160在第二次讀取動作中成功讀取第一頁面時,控制器160將成功讀取之第一頁面的資料傳送至主機120。
在本發明之一實施例中,控制器160更可在電壓設定程序後所執行之第二次讀取動作依然無法成功讀取第一頁面後,重複執行電壓設定程序,直到第一頁面之資料可成功被讀取,或者直到電壓設定程序被重複執行之次數達到一第二既定值為止。當電壓設定程序被重複執行之次數達到一第二既定值時,控制器160更用以將第一頁面標記為一損壞頁面。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對電壓設定程序被重複 執行之次數進行一重複讀取計數。每當控制器160執行一次電壓設定程序時,重複讀取計數則加一。
在本發明之另一實施例中,當電壓設定程序被重複執行之次數達到一第二既定值時,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160用以對快閃記憶體180中相應於一第二字元線之一第二頁面進行一校正讀取動作,其中校正讀取動作係對第二頁面進行讀取一既定校正次數,其它校正電壓分佈程序之細節請參考上述說明,在此不再贅述。接著,控制器160更用以在校正電壓分佈程序執行完畢後,再對第一頁面進行一第二次讀取動作。當控制器160在第二次讀取動作中成功讀取第一頁面時,控制器160將成功讀取之第一頁面的資料傳送至主機120。
在本發明之一實施例中,控制器160更可在校正電壓分佈程序後所執行之第二次讀取動作依然無法成功讀取第一頁面後,重複執行電壓設定程序及/或校正電壓分佈程序,直到第一頁面之資料可成功被讀取,或者直到校正電壓分佈程序被重複執行之次數達到一第一既定值為止。當校正電壓分佈程序被重複執行之次數達到一第一既定值時,控制器160更用以將第一頁面標記為一損壞頁面。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對校正電壓分佈程序被重複執行之次數進行一校正計數。每當控制器160執行一次校正電壓分佈程序時,重校正計數則加一。
第2圖係本發明之一種實施例之錯誤校正方法之 流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S200。
在步驟S200中,控制器160用以根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一第一頁面進行一第一次讀取動作。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中連接至第一字元線之第一頁面進行一讀取動作。
接著,在步驟S202中,控制器160判斷讀取第一頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S204。否則,流程進行至步驟S206。
在步驟S204中,控制器160將成功讀取之第一頁面的資料,傳送至主機120。
在步驟S206中,控制器160判斷相應於校正讀取動作已執行之次數的一校正計數是否超過一第一既定值。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對校正電壓分佈程序被重複執行之次數進行一校正計數。當校正計數超過一第一既定值時,流程進行至步驟S208。否則,流程進行至步驟S212。
在步驟S208中,控制器160用以將第一頁面標記為一損壞頁面。
在步驟S210中,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160用以對快閃記憶體180中相應於一第二字元線之一第二頁面進行一校正讀取動作,其 中第一字元線與第二字元線不相同,並且第一頁面與第二頁面不相同。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中連接至第二字元線之第二頁面進行校正讀取動作。值得注意的是,校正讀取動作係對第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正第一頁面之臨界電壓的分佈。既定校正次數可為1次、5次、10次、20次、30次、50次、100次等經由發明人根據校正程序成功率的實驗數據所設計之數值,本發明不限於此。
接著,在步驟S212中,控制器160將校正計數加一。舉例而言,控制器160係將用以進行校正計數之記憶體區塊或者一暫存器中的數值加一。接著,流程回到步驟S200。
第3A-3B圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S300。
在步驟S300中,控制器160用以根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一第一頁面進行一第一次讀取動作。詳細步驟請參考第2圖之步驟S200,在此不再贅述。
接著,在步驟S302中,控制器160判斷讀取第一頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S304。否則,流程進行至步驟S306。
在步驟S304中,控制器160將成功讀取之第一頁面的資料,傳送至主機120。
在步驟S306中,控制器160判斷相應於校正讀取動作已執行之次數的一校正計數是否超過一第一既定值。詳細步驟請參考第2圖之步驟S206,在此不再贅述。當校正計數超過一第一既定值時,流程進行至步驟S308。否則,流程進行至步驟S312。
在步驟S308中,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160用以對快閃記憶體180中相應於一第二字元線之一第二頁面進行一校正讀取動作,其中第一字元線與第二字元線不相同,並且第一頁面與第二頁面不相同。詳細步驟請參考第2圖之步驟S210,在此不再贅述。
接著,在步驟S310中,控制器160將校正計數加一。詳細步驟請參考第2圖之步驟S212,在此不再贅述。接著,流程回到步驟S300。
在步驟S312中,控制器160判斷相應於電壓設定動作之次數的一重複讀取計數是否超過一第二既定值。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對電壓設定程序被重複執行之次數進行一重複讀取計數。當重複讀取計數超過第二既定值時,流程進行至步驟S314。否則,流程進行至步驟S316。
在步驟S314中,控制器160用以將第一頁面標記為一損壞頁面。
在步驟S316中,控制器160執行電壓設定程序。電壓設定程序中,控制器160用以根據重複讀取表,對快閃記憶體180中之一暫存器(未圖示)進行一電壓設定動作,以將暫存器 中之數值,作為快閃記憶體180之讀取電壓。舉例而言,重複讀取表可儲存於永久記憶體164中。
接著,在步驟S318中,控制器160將重複讀取計數加一。舉例而言,控制器160係將用以進行重複讀取計數之記憶體區塊或者一暫存器中的數值加一。
接著,在步驟S320中,控制器160將校正計數歸零。舉例而言,控制器160係將用以進行校正計數之記憶體區塊或者一暫存器中的數值歸零。流程回到步驟S300,以藉由所設定之快閃記憶體180之讀取電壓對第一頁面再次進行讀取。值得注意的是,在本實施例中,電壓設定程序在校正電壓分佈程序之後進行。另外,在本實施例中控制器160將校正計數歸零後,才回到步驟S300。因此,當藉由所設定之快閃記憶體180之讀取電壓仍然無法成功讀取第一頁面時,控制器160會接著進行校正電壓分佈程序相應於第一既定值之次數後,再進行第二次之電壓設定程序,但本發明不限於此。
在本發明之另一實施例中,第3A-3B圖所示之錯誤校正方法亦可不包括步驟S320。換言之,在本實施例中控制器160不將校正計數歸零,直接回到步驟S300。因此,當藉由所設定之快閃記憶體180之讀取電壓仍然無法成功讀取第一頁面時,控制器160不會再進行校正電壓分佈程序,而直接進行第二次之電壓設定程序。
第4A-4B圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S400。
在步驟S400中,控制器160用以根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一第一頁面進行一第一次讀取動作。詳細步驟請參考第2圖之步驟S200,在此不再贅述。
接著,在步驟S402中,控制器160判斷讀取第一頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S404。否則,流程進行至步驟S406。
在步驟S406中,控制器160判斷相應於電壓設定動作之次數的一重複讀取計數是否超過一第二既定值。詳細步驟請參考第3A-3B圖之步驟S312,在此不再贅述。當重複讀取計數未超過第二既定值時,流程進行至步驟S408。否則,流程進行至步驟S412。
在步驟S408中,控制器160執行電壓設定程序。電壓設定程序中,控制器160用以根據重複讀取表,對快閃記憶體180中之一暫存器(未圖示)進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體180之讀取電壓。詳細步驟請參考第3A-3B圖之步驟S316,在此不再贅述。
接著,在步驟S410中,控制器160將重複讀取計數加一。詳細步驟請參考第3A-3B圖之步驟S318,在此不再贅述。接著,流程回到步驟S400,以藉由所設定之快閃記憶體180之讀取電壓對第一頁面再次進行讀取。
在步驟S412中,控制器160判斷相應於校正讀取動作已執行之次數的一校正計數是否超過一第一既定值。詳細步 驟請參考第2圖之步驟S206,在此不再贅述。當校正計數超過一第一既定值時,流程進行至步驟S414。否則,流程進行至步驟S416。
在步驟S414中,控制器160用以將第一頁面標記為一損壞頁面。
在步驟S416中,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160用以對快閃記憶體180中相應於一第二字元線之一第二頁面進行一校正讀取動作,其中第一字元線與第二字元線不相同,並且第一頁面與第二頁面不相同。詳細步驟請參考第2圖之步驟S210,在此不再贅述。
接著,在步驟S418中,控制器160將校正計數加一。詳細步驟請參考第2圖之步驟S212,在此不再贅述。
接著,在步驟S420中,控制器160將重複讀取計數歸零。舉例而言,控制器160係將用以進行重複讀取計數之記憶體區塊或者一暫存器中的數值歸零。流程回到步驟S400。值得注意的是,在本實施例中,電壓設定程序在校正電壓分佈程序之前進行。另外,在本實施例中控制器160將重複讀取計數歸零後,才回到步驟S400。因此,當經由校正電壓分佈程序執行完畢仍然無法成功讀取第一頁面時,控制器160會接著電壓設定程序相應於第二既定值之次數後,再進行第二次之校正電壓分佈程序,但本發明不限於此。
在本發明之另一實施例中,第4圖所示之錯誤校正方法亦可不包括步驟S420。換言之,在本實施例中控制器160不將重複讀取計數歸零,直接回到步驟S400。因此,當經由校 正電壓分佈程序執行完畢仍然無法成功讀取第一頁面時,控制器160不會再進行電壓設定程序,而直接進行第二次之校正電壓分佈程序。
第5A圖係本發明之經由電壓設定程序後對目標頁面進行讀取之模擬圖。在本模擬圖中,控制器160使用電壓設定程序後,對目標頁面進行重複讀取500次。由第5A圖可知,藉由重複讀取的動作對目標頁面進行讀取500次,雖然降低了錯誤位元的數量,但仍然無法將目標頁面的錯誤位元降低至標準線502下方。
第5B圖係本發明之經由校正電壓分佈程序後對目標頁面進行讀取之模擬圖。在本模擬圖中,控制器160使用校正電壓分佈程序500次後,對目標頁面進行讀取之結果。由第5B圖可知,目標頁面在控制器160使用校正電壓分佈程序對其他頁面讀取一次後,已將目標頁面的錯誤位元降低至標準線504下方。
由上述可知,本發明所提供之資料儲存裝置140以及錯誤校正方法可藉由校正電壓分佈程序對目標頁面外之其它頁面進行讀取,以產生讀取干擾效應(Read Disturbance),並藉由讀取干擾效應校正在讀取過程中發生錯誤之目標頁面的臨界電壓分佈。另外,電壓設定程序可對目標頁面進行重複讀取(Read Retry),以根據不同之讀取電壓讀取目標頁面之資料。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦 或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體

Claims (26)

  1. 一種資料儲存裝置,包括:一快閃記憶體;以及一控制器,用以根據一主機之一讀取命令對上述快閃記憶體中相應於一第一字元線之一第一頁面進行一第一次讀取動作,並且當上述第一次讀取動作讀取上述第一頁面發生無法藉由編解碼進行修復之錯誤時,用以執行一校正電壓分佈程序,其中在上述校正電壓分佈程序中,上述控制器用以對上述快閃記憶體中相應於一第二字元線之一第二頁面進行一校正讀取動作。
  2. 根據申請專利範圍第1項之資料儲存裝置,其中上述校正讀取動作係對上述第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正上述第一頁面之臨界電壓的分佈。
  3. 根據申請專利範圍第2項之資料儲存裝置,其中上述控制器更用以在上述校正電壓分佈程序執行完畢後,再對上述第一頁面進行一第二次讀取動作。
  4. 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器更用以判斷相應於上述校正讀取動作已執行之次數的一校正計數是否超過一第一既定值,並當上述校正計數超過上述第一既定值時,將上述第一頁面標記為一損壞頁面。
  5. 根據申請專利範圍第1項之資料儲存裝置,其中當上述第一次讀取動作讀取上述第一頁面發生無法藉由編解碼進行修復之錯誤時,上述控制器更用以進行一電壓設定程序,其中在上述電壓設定程序中,上述控制器用以根據一重複讀 取表,對上述快閃記憶體中之一暫存器進行一電壓設定動作,以將上述暫存器中之數值,作為上述快閃記憶體之讀取電壓。
  6. 根據申請專利範圍第5項之資料儲存裝置,其中上述控制器更用以在上述電壓設定程序執行完畢後,藉由所設定之上述快閃記憶體之讀取電壓對上述第一頁面進行一第二次讀取動作。
  7. 根據申請專利範圍第5項之資料儲存裝置,其中上述電壓設定程序在上述校正電壓分佈程序之前執行。
  8. 根據申請專利範圍第7項之資料儲存裝置,其中在上述電壓設定程序中,上述控制器更用以判斷相應於上述電壓設定動作已執行之次數的一重複讀取計數是否超過一第二既定值,並當上述重複讀取計數超過上述第二既定值時,進行上述校正電壓程序。
  9. 根據申請專利範圍第5項之資料儲存裝置,其中上述電壓設定程序在上述校正電壓分佈程序之後執行。
  10. 根據申請專利範圍第9項之資料儲存裝置,其中在上述校正電壓分佈程序中,上述控制器更用以判斷相應於上述校正讀取動作已執行之次數的一校正計數是否超過一第一既定值,並當上述校正計數超過上述第一既定值時,進行上述電壓設定程序。
  11. 根據申請專利範圍第9項之資料儲存裝置,其中在上述電壓設定程序中,上述控制器更用以判斷相應於上述電壓設定動作已執行之次數的一重複讀取計數是否超過一第二既 定值,並當上述重複讀取計數超過上述第二既定值時,將上述第一頁面標記為一損壞頁面。
  12. 一種錯誤校正方法,適用於一資料儲存裝置,包括:根據一主機之一讀取命令對上述資料儲存裝置中之快閃記憶體中相應於一第一字元線之一第一頁面進行一第一次讀取動作;判斷上述第一次讀取動作讀取上述第一頁面時,是否發生無法藉由編解碼進行修復之錯誤;以及當上述第一次讀取動作讀取上述第一頁面發生無法藉由編解碼進行修復之錯誤時,執行一校正電壓分佈程序,其中上述校正電壓分佈程序包括對上述快閃記憶體中相應於一第二字元線之一第二頁面進行一校正讀取動作。
  13. 根據申請專利範圍第12項之錯誤校正方法,更包括在上述校正電壓分佈程序執行完畢後,對上述第一頁面進行一第二次讀取動作。
  14. 根據申請專利範圍第12項之錯誤校正方法,其中上述校正讀取動作係對上述第二頁面進行讀取一既定校正次數,以藉由讀取干擾效應校正上述第一頁面之臨界電壓的分佈。
  15. 根據申請專利範圍第12項之錯誤校正方法,其中上述校正電壓分佈程序更包括:判斷相應於上述校正讀取動作已執行之次數的一校正計數是否超過一第一既定值;以及當上述校正計數超過上述第一既定值時,將上述第一頁面標記為一損壞頁面。
  16. 根據申請專利範圍第12項之錯誤校正方法,更包括當上述第一次讀取動作讀取上述第一頁面發生無法藉由編解碼進行修復之錯誤時,進行一電壓設定程序,其中上述電壓設定程序包括根據一重複讀取表,對上述快閃記憶體中之一暫存器進行一電壓設定動作,以將上述暫存器中之數值,作為上述快閃記憶體之讀取電壓。
  17. 根據申請專利範圍第16項之錯誤校正方法,更包括在上述電壓設定程序執行完畢後,藉由所設定之上述快閃記憶體之讀取電壓對上述第一頁面進行一第二次讀取動作。
  18. 根據申請專利範圍第16項之錯誤校正方法,其中上述電壓設定程序在上述校正電壓分佈程序之前執行。
  19. 根據申請專利範圍第18項之錯誤校正方法,其中上述電壓設定程序更包括:判斷相應於上述校正讀取動作已執行之次數的一校正計數是否超過一第一既定值,其中進行上述校正讀取動作的步驟更包括當上述重複讀取計數未超過上述第二既定值時,才進行上述校正讀取動作;以及在上述校正讀取動作執行完畢後,將上述校正計數加一。
  20. 根據申請專利範圍第18項之錯誤校正方法,其中上述電壓設定程序更包括:判斷相應於上述電壓設定動作之次數的一重複讀取計數是否超過一第二既定值,其中設定進行上述電壓設定動作的步驟更包括當上述重複讀取計數未超過上述第二既定值時,才進行上述電壓設定動作;以及 在上述電壓設定動作執行完畢後,將上述重複讀取計數加一。
  21. 根據申請專利範圍第20項之錯誤校正方法,其中當上述重複讀取計數超過上述第二既定值時,進行上述校正電壓程序。
  22. 根據申請專利範圍第16項之錯誤校正方法,其中上述電壓設定程序在上述校正電壓分佈程序之後執行。
  23. 根據申請專利範圍第22項之錯誤校正方法,其中上述校正電壓分佈程序更包括:判斷相應於上述校正讀取動作已執行之次數的一校正計數是否超過一第一既定值,其中進行上述校正讀取動作的步驟更包括當上述校正計數未超過上述第一既定值時,才執行上述校正讀取動作;以及當上述校正讀取動作執行完畢時,將上述校正計數加一。
  24. 根據申請專利範圍第23項之錯誤校正方法,其中當上述校正計數超過上述第一既定值時,執行上述電壓設定程序。
  25. 根據申請專利範圍第22項之錯誤校正方法,其中上述電壓設定程序更包括:判斷相應於上述電壓設定動作已執行之次數的一重複讀取計數是否超過一第二既定值,其中進行上述電壓設定動作的步驟更包括當上述重複讀取計數未超過上述第二既定值時,才進行上述電壓設定動作;以及在上述電壓設定動作執行完畢後,將一重複讀取計數加一。
  26. 根據申請專利範圍第25項之錯誤校正方法,其中當上述重 複讀取計數超過上述第二既定值時,將上述第一頁面標記為一損壞頁面。
TW102138403A 2013-05-31 2013-10-24 資料儲存裝置及其錯誤校正方法 TWI515729B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410073801.0A CN104217761B (zh) 2013-05-31 2014-02-28 数据储存装置及其错误校正方法
US14/271,897 US9361999B2 (en) 2013-05-31 2014-05-07 Data storage device and error correction method capable of adjusting voltage distribution
KR1020140066543A KR101677531B1 (ko) 2013-05-31 2014-05-30 데이터 저장 디바이스 및 그 에러 정정 방법
US14/989,080 US10157682B2 (en) 2013-05-31 2016-01-06 Data storage device and error correction method capable of adjusting voltage distribution by reading pages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361829482P 2013-05-31 2013-05-31

Publications (2)

Publication Number Publication Date
TW201445569A TW201445569A (zh) 2014-12-01
TWI515729B true TWI515729B (zh) 2016-01-01

Family

ID=52707153

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102138403A TWI515729B (zh) 2013-05-31 2013-10-24 資料儲存裝置及其錯誤校正方法

Country Status (1)

Country Link
TW (1) TWI515729B (zh)

Also Published As

Publication number Publication date
TW201445569A (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
US8510637B2 (en) Data reading method, memory storage apparatus and memory controller thereof
US9274893B2 (en) Data storage device and error correction method thereof
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
TW201913686A (zh) 錯誤檢查糾正解碼方法與裝置
US20150006983A1 (en) Read voltage setting method, and control circuit, and memory storage apparatus using the same
US10157682B2 (en) Data storage device and error correction method capable of adjusting voltage distribution by reading pages
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
US9136875B2 (en) Decoding method, memory storage device and rewritable non-volatile memory module
TWI523025B (zh) 資料儲存裝置及其錯誤校正方法
TW201511016A (zh) 更新讀取電壓
TWI571742B (zh) 資料儲存裝置及資料維護方法
TWI631456B (zh) 資料儲存裝置及資料維護方法
TW201833937A (zh) 資料儲存裝置及其區塊釋放方法
TWI566094B (zh) 資料儲存裝置及其資料更新方法
TWI515729B (zh) 資料儲存裝置及其錯誤校正方法
TWI527050B (zh) 資料儲存裝置及其錯誤校正方法以及資料讀取方法
US10019186B2 (en) Data maintenance method for error control and data storage device using the same
TWI446346B (zh) 資料讀取方法、記憶體儲存裝置及其記憶體控制器
TWI691967B (zh) 解碼方法及相關的快閃記憶體控制器與電子裝置
JP2008165518A (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法