TW201445575A - 資料儲存裝置及其錯誤校正方法以及資料讀取方法 - Google Patents
資料儲存裝置及其錯誤校正方法以及資料讀取方法 Download PDFInfo
- Publication number
- TW201445575A TW201445575A TW102145065A TW102145065A TW201445575A TW 201445575 A TW201445575 A TW 201445575A TW 102145065 A TW102145065 A TW 102145065A TW 102145065 A TW102145065 A TW 102145065A TW 201445575 A TW201445575 A TW 201445575A
- Authority
- TW
- Taiwan
- Prior art keywords
- storage unit
- page
- data
- unit mode
- flash memory
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體用以操作於一單階儲存單元模式以及一非單階儲存單元模式。控制器用以在單階儲存單元模式下,根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作,並且當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,用以執行一校正電壓分佈程序,其中在校正電壓分佈程序中,控制器致使快閃記憶體切換至非單階儲存單元模式,並且在非單階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
Description
本發明係關於一種資料儲存裝置之錯誤校正方法;特別係關於一種校正電壓分佈的錯誤校正方法。
快閃記憶體為一種普遍的非揮發性資料儲存媒體,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等之儲存媒體。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),而各區塊包括複數頁(pages)。由於快閃記憶體的存取過程中可能會發生資料內容的錯誤,所以目前在存入資料時係將原始的資料進行編碼以及產生對應的校驗碼後,再儲存編碼後的資料及校驗碼至快閃記憶體中,而資料讀取時則將編碼的資料及校驗碼讀出,再解碼所讀出的編碼資料來得到原先的資料。編/解碼操作雖然能夠進行除錯,然而更正能力仍是有個上限。而當發生超過一定程度以上的錯誤時,快閃記憶體控制器在執行完解碼操作後將發現無法對編碼資料進行有效解碼,即發生無法完全更正成原始資料,而造成資料毀損的情況。
本發明所提供之資料儲存裝置以及錯誤校正方法可藉由校正電壓分佈程序,以非單階儲存單元模式校正目標頁面之電壓分佈。另外,重複讀取程序可對目標頁面進行重複讀取,以根據不同之讀取電壓讀取目標頁面之資料。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體用以操作於一單階儲存單元模式以及一非單階儲存單元模式。控制器用以在單階儲存單元模式下,根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作,並且當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,用以執行一校正電壓分佈程序,其中在校正電壓分佈程序中,控制器致使快閃記憶體切換至非單階儲存單元模式,並且在非單階儲存單元模式下,將一數位邏輯1寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。在本發明之一實施例中,非單階儲存單元模式係為一二階儲存單元模式。
當非單階儲存單元模式係為二階儲存單元模式時,控制器更用以在校正電壓分佈程序中,在數位邏輯1寫入最高有效位元頁面後,致使快閃記憶體回復至單階儲存單元模式,並且在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。當第二次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,控制器將相應於第一字元線之頁面標記為一損壞頁面。
在本發明之另一實施例中,非單階儲存單元模式係為一三階儲存單元模式。當非單階儲存單元模式係為三階儲存單元模式時,控制器更用以在校正電壓分佈程序中,在三階儲存單元模式下,將一數位邏輯1寫入相應於第一字元線之一中央有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。控制器更用以在校正電壓分佈程序中,在數位邏輯1寫入最高有效位元頁面以及中央有效位元頁面後,致使快閃記憶體回復至單階儲存單元模式,並且在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。當第二次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,控制器將相應於第一字元線之頁面標記為一損壞頁面。
在本發明之又另一實施例中,當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,控制器更用以在校正電壓分佈程序前執行一重複讀取程序,其中在重複讀取程序中,控制器用以根據一重複讀取表,對快閃記憶體中之一暫存器進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體之讀取電壓。
本發明亦提供一種錯誤校正方法,適用於一資料儲存裝置。資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一非單階儲存單元模式。錯誤校正方法包括:根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作;判斷第一次讀取動作讀取第一頁面時,是否發生無法藉由編解碼進行修復之錯誤;以
及當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,執行一校正電壓分佈程序。校正電壓分佈程序包括:致使快閃記憶體切換至非單階儲存單元模式;以及在非單階儲存單元模式下,將一數位邏輯1寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
在本發明之一實施例中,非單階儲存單元模式係為一二階儲存單元模式。在二階儲存單元模式中,校正電壓分佈程序之步驟更包括:在數位邏輯1寫入最高有效位元頁面後,致使快閃記憶體回復至單階儲存單元模式;在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作;當第二次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,將相應於第一字元線之頁面標記為一損壞頁面。
在本發明之另一實施例中,非單階儲存單元模式係為一三階儲存單元模式。在非單階儲存單元模式中校正電壓分佈程序之步驟更包括在三階儲存單元模式下,將一數位邏輯1寫入相應於第一字元線之一中央有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈;在數位邏輯1寫入最高有效位元頁面以及中央有效位元頁面後,致使快閃記憶體回復至單階儲存單元模式;在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作;以及當第二次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,將相應於第一字元線之頁面標記為一損壞
頁面。
另外,當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,本發明之一實施例更用以在校正電壓分佈程序前執行一重複讀取程序,其中重複讀取程序包括根據一重複讀取表,對快閃記憶體中之一暫存器進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體之讀取電壓。
本發明亦提供一種資料讀取方法,適用於一資料儲存裝置,其中資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一多階儲存單元模式,資料讀取方法包括:在單階儲存單元模式下,根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作以獲取一第一資料;當第一資料發生無法修復之錯誤時,致使快閃記憶體切換至多階儲存單元模式;在多階儲存單元模式下,將一預設資料寫入相應於第一字元線之一最高有效位元頁面;致使快閃記憶體切換至單階儲存單元模式;以及再次讀取第一字元線之頁面以獲取一第二資料。
本發明亦提供一種資料讀取方法,適用於一資料儲存裝置,其中資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一多階儲存單元模式。資料讀取方法包括:根據一主機之一讀取命令對快閃記憶體中相應於一第一字元線之一頁面進行單階儲存單元模式的一第一次讀取動作以獲取一第一資料;當第一資料發生無法修復之錯誤時,將一預設資料以多階儲存單元模式寫入相應於第一字元線之一最高
有效位元頁面;以單階儲存單元模式讀取第一字元線之頁面以獲取一第二資料;以及當第二資料無錯誤或錯誤可更正時,將第二資料傳送予主機。
電子系統;
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
1102、1104、1202、1204‧‧‧曲線
S500-S516、S600-S624、S700-S716、S800-S824、S900-S910‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之快閃記憶體操作於一單階儲存單元模式下,頁面與字元線之對應關係表。
第3圖係本發明之快閃記憶體操作於一二階儲存單元模式下,頁面與字元線之對應關係表。
第4圖係本發明之快閃記憶體操作於一三階儲存單元模式下,頁面與字元線之對應關係表。
第5圖係本發明之一種實施例之錯誤校正方法之流程圖。
第6A-6B圖係本發明之另一種實施例之錯誤校正方法之流程圖。
第7圖係本發明之另一種實施例之錯誤校正方法之流程圖。
第8A-8B圖係本發明之另一種實施例之錯誤校正方法之流程圖。
第9圖係本發明之一種實施例之資料讀取方法之流程圖。
第10圖係本發明之另一種實施例之資料讀取方法之流程圖。
第11圖係目標頁面未經由本發明所揭露之錯誤校正方法讀取前之錯誤率模擬圖。
第12圖係目標頁面經由本發明所揭露之錯誤校正方法讀取後之錯誤率模擬圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162以及一永久記憶體(如,唯讀記憶體ROM)164。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。快閃記憶體180包括複數頁面以及複數字元線與複數位元線,其中每一字元線用以控制至少一頁面,以選擇所欲讀取之頁面。值得注意的是,本發明之快閃記憶體180可操作於不同之記憶體存取模式,例如單階儲存單元(Single-Level Cell,SLC)模式以及非單階儲存單元模式,其中非單階(或多階)儲存單元模式包括二階儲存單元(Multi-Level Cell,MLC)模式以及三階儲存單元(Triple-Level Cell,TLC)模式。
舉例而言,當快閃記憶體180操作於單階儲存單元模式時,快閃記憶體180中之一個記憶體儲存單元(cell)用以存放1位元(bit)的資料,並且一條字位元線用以控制至一個頁
面,其中字元線與頁面之對應關係如第2圖所示。第2圖係本發明之快閃記憶體操作於單階儲存單元模式下,頁面與字元線之對應關係表。由第2圖可知,快閃記憶體180中之每一字元線相應於一個頁面。換言之,在單階儲存單元模式中,一個字元線相應於一個頁面。另外,由於快閃記憶體180在操作於單階儲存單元模式時,一個記憶體儲存單元需要存放1位元。因此,快閃記憶體180在電壓分佈中,需要兩個信息狀態(level)來儲存資料,其中該兩個信息狀態分別相應於0和1。
當快閃記憶體180操作於二階儲存單元模式時,快閃記憶體180中之一個記憶體儲存單元(cell)用以存放2位元(bit)的資料,並且一條字位元線用以控制至兩個頁面,其中字元線與頁面之對應關係如第3圖所示。第3圖係本發明之快閃記憶體操作於二階儲存單元模式下,頁面與字元線之對應關係表。由第3圖可知,每一字元線分別用以控制一最低有效位元頁面(Least-Significant Bit page,LSB page)以及一最高有效位元頁面(Most-Significant Bit page,MSB page)。換言之,在二階儲存單元模式中,一個字元線相應於兩個頁面。另外,由於快閃記憶體180在操作於二階儲存單元模式時,一個記憶體儲存單元需要存放2位元。因此,快閃記憶體180在電壓分佈中,需要四個信息狀態(level)來儲存資料,其中該兩個信息狀態分別相應於00、01、10和11,並且該四個信息狀態係由單階儲存單元模式中的兩個信息狀態中,分別分出來的。
當快閃記憶體180操作於三階儲存單元模式時,快閃記憶體180中之一個記憶體儲存單元(cell)用以存放3位元
(bit)的資料,並且一條字位元線用以控制至三個頁面,其中字元線與頁面之對應關係如第4圖所示。第4圖係本發明之快閃記憶體操作於二階儲存單元模式下,頁面與字元線之對應關係表。由第4圖可知,每一字元線分別用以控制一最低有效位元頁面、一中央有效位元(Central Significant Bit page,CSB page)以及一最高有效位元頁面。換言之,在三階儲存單元模式中,一個字元線相應於三個頁面。另外,由於快閃記憶體180在操作於三階儲存單元模式時,一個記憶體儲存單元需要存放3位元。因此,快閃記憶體180在電壓分佈中,需要八個信息狀態(level)來儲存資料,其中該兩個信息狀態分別相應於000、001、010、011、100、101、110和111,並且該八個信息狀態係由二階儲存單元模式中的四個信息狀態中,分別分出來的。
根據本案所揭露之技術,韌體係設計來提供主機120對快閃記憶體180進行讀取發生錯誤時,所需的錯誤校正方法,用以補救無法依正常程序讀取之資料。舉例而言,當控制器160對快閃記憶體180進行讀取發生資料錯誤,並且無法藉錯誤校驗碼(Error-correcting code,ECC)成功進行更正時,控制器160可藉由本發明所揭露之錯誤校正方法,校正無法讀取之資料。本發明所揭露的錯誤校正方法包括一校正電壓分佈程序,但本發明不限於此。在本發明之另一實施例中,錯誤校正方法包括一校正電壓分佈程序以及一重複讀取程序。本發明所揭露之校正電壓分佈程序係藉由切換記憶體存取模式,校正相應之位元線中的記憶體儲存單元(Cell)的電壓分佈。
舉例而言,在本發明之一實施例中,控制器160將
操作模式由單階儲存單元模式切換為二階儲存單元模式,並將數位邏輯1(例如0xFF)寫入一第一位元線所控制之最高有效位元,以校正在單階儲存單元中,第一位元線所相應之頁面的電壓分佈。換言之,控制器160將操作模式由單階儲存單元模式切換為二階儲存單元模式,並將電壓分佈中00和01的信息狀態分別移動至11和10,以校正在單階儲存單元中,第一位元線所相應之頁面的電壓分佈。
在本發明之另一實施例中,控制器160將操作模式由單階儲存單元模式切換為三階儲存單元模式,並將數位邏輯1(例如0xFF)寫入一第一位元線所控制之最高有效位元以及中央有效位元,以校正在單階儲存單元中,第一位元線所相應之頁面的電壓分佈。換言之,控制器160將操作模式由單階儲存單元模式切換為三階儲存單元模式,並將電壓分佈中000、001、010、011、100和101的信息狀態分別移動至111和110,以校正在單階儲存單元中,第一位元線所相應之頁面的電壓分佈。
另外,本發明所揭露之重複讀取程序係用以根據一重新讀取表(Read Retry Table)重新設定在讀取過程中發生錯誤之目標頁面的讀取電壓,以對目標頁面進行重複讀取(Read Retry)。值得注意的是,上述之目標頁面係主機120傳送至資料儲存裝置140的讀取命令,所要求讀取之頁面。詳細動作如下所述。
在本發明之一實施例中,控制器160用以在單階儲存單元模式下,根據主機120之一讀取命令對快閃記憶體180中
相應於一第一字元線之一頁面進行一第一次讀取動作。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中第一字元線所控制之頁面進行第一次讀取動作。當第一次讀取動作讀取第一頁面發生無法藉由編解碼進行修復之錯誤時,控制器160執行校正電壓分佈程序。在校正電壓分佈程序中,控制器160致使快閃記憶體180切換至二階儲存單元模式,並且在二階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。接著,控制器160更用以在數位邏輯1(例如0xFF)寫入相應於第一字元線之最高有效位元頁面後,致使快閃記憶體180回復至單階儲存單元模式,並且在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。當控制器160在第二次讀取動作中成功讀取相應於第一字元線之頁面(即資料無錯誤或錯誤可更正)時,控制器160將成功讀取之相應於第一字元線之頁面的資料傳送至主機120。當控制器160在第二次讀取動作中仍然未成功讀取相應於第一字元線之頁面(即資料仍無法更正)時,控制器160將相應於第一字元線之頁面標記為一損壞頁面,或將第一字元線對應的區塊標記為一損壞區塊。
在本發明之另一實施例之校正電壓分佈程序中,控制器160致使快閃記憶體180切換至三階儲存單元模式,並且在三階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面以及一中央有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
接著,控制器160更用以在數位邏輯1(例如0xFF)寫入相應於第一字元線之最高有效位元頁面以及中央有效位元頁面後,致使快閃記憶體180回復至單階儲存單元模式,並且在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。同樣地,當控制器160在第二次讀取動作中成功讀取相應於第一字元線之頁面(即資料無錯誤或錯誤可更正)時,控制器160將成功讀取之相應於第一字元線之頁面的資料傳送至主機120。當控制器160在第二次讀取動作中仍然未成功讀取相應於第一字元線之頁面(即資料仍無法更正)時,控制器160將相應於第一字元線之頁面標記為一損壞頁面,或將第一字元線對應的區塊標記為一損壞區塊。
在本發明之另一實施例中,當第一次讀取動作讀取相應於第一字元線之頁面發生無法藉由編解碼進行修復之錯誤時,控制器160更用以在校正電壓分佈程序前執行一重複讀取程序。在重複讀取程序中,控制器160用以根據一重複讀取表,對快閃記憶體180中之一暫存器進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體180之讀取電壓。接著,控制器160更用以藉由所設定之快閃記憶體180之讀取電壓對相應於第一字元線之頁面進行一第二次讀取動作,並將一重複讀取計數加一。
當控制器160在第二次讀取動作中成功讀取相應於第一字元線之頁面時,控制器160將成功讀取之相應於第一字元線之頁面的資料傳送至主機120。控制器160更可在重複讀取程序後所執行之第二次讀取動作依然無法成功讀取相應於
第一字元線之頁面後,重複執行重複讀取程序,直到第一頁面之資料可成功被讀取,或者直到重複讀取程序被重複執行之次數達到一第一既定值為止。當重複讀取程序被重複執行之次數達到第一既定值時,控制器160用以執行校正電壓分佈程序。舉例而言,第一既定值可為1次、5次、10次、20次、50次、100次或者500次等,經由發明人根據電壓設定程序重讀目標頁面後之成功率的實驗數據所設計的數值,本發明不限於此。
第5圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S500。
在步驟S500中,控制器160用以在單階儲存單元模式下,根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一頁面進行一第一次讀取動作。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中由第一字元線所控制之第一頁面進行一讀取動作。
接著,在步驟S502中,控制器160判斷讀取相應於第一字元線之頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S504。否則,流程進行至步驟S506。
在步驟S504中,控制器160將成功讀取之第一字元線之頁面的資料,傳送至主機120。流程結束於步驟S504。
在步驟S506中,控制器160致使快閃記憶體180切換至二階儲存單元模式。
接著,在步驟S508中,控制器160在二階儲存單元
模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
接著,在步驟S510中,控制器160致使快閃記憶體180回復至單階儲存單元模式。
接著,在步驟S512中,控制器160在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。
接著,在步驟S514中,控制器160判斷第二次讀取動作在讀取相應於第一字元線之頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S504。否則,流程進行至步驟S516。
在步驟S516中,控制器160將相應於第一字元線之頁面標記為一損壞頁面或將第一字元線所對應的區塊標記為一損壞區塊。流程結束於步驟S516。
第6A-6B圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S600。值得注意的是,步驟S600-S604相似於步驟S500-S504,詳細說明請參考第5圖之流程,在此不在贅述。
在步驟S606中,控制器160判斷相應於電壓設定動作之次數的一重複讀取計數是否超過一第一既定值。舉例而言,控制器160可利用實施於快閃記憶體180或者其它記憶體中之一記憶體區塊或者一暫存器,用以對重複讀取程序被重複執
行之次數進行一重複讀取計數。當重複讀取計數超過第一既定值時,流程進行至步驟S614。否則,流程進行至步驟S608。
在步驟S608中,控制器160用以根據重複讀取表,對快閃記憶體180中之一暫存器(未圖示)進行一電壓設定動作,以將暫存器中之數值,作為快閃記憶體180之讀取電壓。舉例而言,重複讀取表可儲存於永久記憶體164中。
接著,在步驟S610中,控制器160用以藉由所設定之快閃記憶體180之讀取電壓對相應於第一字元線之頁面進行一第二次讀取動作。
接著,在步驟S612中,控制器160將重複讀取計數加一。舉例而言,控制器160係將用以進行重複讀取計數之記憶體區塊或者一暫存器中的數值加一。接著,流程回到步驟S602。
在步驟S614中,控制器160致使資料儲存裝置140切換至二階儲存單元模式。
接著,在步驟S616中,控制器160在二階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
接著,在步驟S618中,控制器160致使快閃記憶體180回復至單階儲存單元模式。
接著,在步驟S620中,控制器160在單階儲存單元模式下,再對相應於第一字元線之頁面進行一第二次讀取動作。
接著,在步驟S622中,控制器160判斷第二次讀取動作在讀取相應於第一字元線之頁面時,是否發生無法藉由編解碼進行修復之錯誤。當沒有發生無法藉由編解碼進行修復之錯誤時,流程進行至步驟S604。否則,流程進行至步驟S624。
在步驟S624中,控制器160將相應於第一字元線之頁面標記為一損壞頁面或將第一字元線所對應的區塊標記為一損壞區塊。流程結束於步驟S624。
第7圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S700。值得注意的是,步驟S700-S704、S710-S716相似於步驟S500-S504、S510-S516,詳細說明請參考第5圖之流程,在此不在贅述。
在步驟S706中,控制器160致使資料儲存裝置140切換至三階儲存單元模式。
接著,在步驟S708中,控制器160在三階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面以及一中階有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
第8A-8B圖係本發明之一種實施例之錯誤校正方法之流程圖。錯誤校正方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S800。值得注意的是,步驟S800-S812、S818-S824相似於步驟S600-S612、S618-S624,詳細說明請參考第5圖之流程,在此不在贅述。
在步驟S814中,控制器160致使快閃記憶體180切
換至三階儲存單元模式。
接著,在步驟S816中,控制器160在三階儲存單元模式下,將一數位邏輯1(例如0xFF)寫入相應於第一字元線之一最高有效位元頁面以及一中階有效位元頁面,以校正相應於第一字元線之記憶體儲存單元的電壓分佈。
第9圖係本發明之一種實施例之資料讀取方法之流程圖。資料讀取方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S900。
在步驟S900中,控制器160用以在在單階儲存單元模式下,根據主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一頁面進行一第一次讀取動作以獲取一第一資料。換言之,控制器160用以根據主機120之一讀取命令對快閃記憶體180中由第一字元線所控制之第一頁面進行一讀取動作。
接著,所讀取之第一資料可能有兩種情形,包括第一資料發生無法修復之錯誤以及第一資料無錯誤或錯誤可更正,其中當第一資料無錯誤或錯誤可更正時,控制器160將第一資料傳送予主機120。另外,步驟S902所示的為另一種情況。在步驟S902中,當第一資料發生無法修復之錯誤時,控制器160致使快閃記憶體180切換至多階儲存單元模式。
接著,在步驟S904中,控制器160在多階儲存單元模式下,將一預設資料寫入相應於第一字元線之一最高有效位元頁面。在一實施例中,預設資料為0Xff,但本發明不限於此。
接著,在步驟S906中,控制器160致使快閃記憶體
180切換至單階儲存單元模式。
接著,在步驟S908中,控制器160在單階儲存單元模式下,再次讀取第一字元線之頁面以獲取一第二資料。
接著,所讀取之第二資料可能有兩種情形,包括第二資料發生無法修復之錯誤以及第二資料無錯誤或錯誤可更正。在步驟S910中,當第二資料無錯誤或錯誤可更正時,控制器160將第二資料傳送予主機120;當第二資料發生無法修復之錯誤時,控制器160將相應於第一字元線之頁面標記為一損壞頁面或者將相應於第一字元線對應之一第一區塊標記為一損壞區塊。流程結束於步驟S910。
第10圖係本發明之另一種實施例之資料讀取方法之流程圖。資料讀取方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S1000。
在步驟S1000中,控制器160根據一主機120之一讀取命令對快閃記憶體180中相應於一第一字元線之一頁面進行單階儲存單元模式的一第一次讀取動作以獲取一第一資料。
接著,所讀取之第一資料可能有兩種情形,包括第一資料發生無法修復之錯誤以及第一資料無錯誤或錯誤可更正,其中當第一資料無錯誤或錯誤可更正時,控制器160將第一資料傳送予主機120。另外,步驟S1002所示的為另一種情況。在步驟S1002中,當第一資料發生無法修復之錯誤時,將一預設資料以多階儲存單元模式寫入相應於第一字元線之一最高有效位元頁面。在一實施例中,預設資料為0Xff,但本發明不限於此。
接著,在步驟S1004中,控制器160以單階儲存單元模式讀取第一字元線之頁面以獲取一第二資料。
接著,在步驟S1006中,當第二資料無錯誤或錯誤可更正時,控制器160將第二資料傳送予主機120;當第二資料發生無法修復之錯誤時,控制器160將相應於第一字元線之頁面標記為一損壞頁面或者將相應於第一字元線對應之一第一區塊標記為一損壞區塊。流程結束於步驟S1006。
第11圖係目標頁面未經由本發明所揭露之錯誤校正方法讀取前之錯誤率模擬圖。在本模擬圖中,曲線1102係頁面未經由本發明之錯誤校正方法讀取前之錯誤位元數,曲線1104係頁面僅經由重複讀取程序後之錯誤位元數。由第11圖可知,重複讀取程序僅可降低有限之錯誤率,但仍然無法將頁面的錯誤位元數降低至可讀取的程度。
第12圖係目標頁面經由本發明所揭露之錯誤校正方法讀取後之錯誤率模擬圖。在本模擬圖中,曲線1202係頁面僅經由校正電壓分佈程序後之錯誤位元數,曲線1204係頁面經由重複讀取程序以及校正電壓分佈程序後之錯誤位元數。由第12圖可知,校正電壓分佈程序可大幅降低頁面之錯誤率。另外,在執行校正電壓分佈程序以及重複讀取程序後,可更進一步地降低頁面之錯誤率。
由上述可知,本發明所提供之資料儲存裝置140以及錯誤校正方法可藉由校正電壓分佈程序,以非單階儲存單元模式校正目標頁面之電壓分佈。另外,重複讀取程序可對目標頁面進行重複讀取(Read Retry),以根據不同之讀取電壓讀取
目標頁面之資料。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
Claims (28)
- 一種資料儲存裝置,包括:一快閃記憶體,用以操作於一單階儲存單元模式以及一非單階儲存單元模式;以及一控制器,用以在上述單階儲存單元模式下,根據一主機之一讀取命令對上述快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作,並且當上述第一次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,用以執行一校正電壓分佈程序,其中在上述校正電壓分佈程序中,上述控制器致使上述快閃記憶體切換至上述非單階儲存單元模式,並且在上述非單階儲存單元模式下,將一數位邏輯1寫入相應於上述第一字元線之一最高有效位元頁面,以校正相應於上述第一字元線之記憶體儲存單元的電壓分佈。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述非單階儲存單元模式係為一二階儲存單元模式。
- 根據申請專利範圍第2項之資料儲存裝置,其中上述控制器更用以在上述校正電壓分佈程序中,在上述數位邏輯1寫入上述最高有效位元頁面後,致使上述快閃記憶體回復至上述單階儲存單元模式,並且在上述單階儲存單元模式下,再對相應於上述第一字元線之上述頁面進行一第二次讀取動作。
- 根據申請專利範圍第3項之資料儲存裝置,其中上述控制器更用以當上述第二次讀取動作讀取相應於上述第一字元線 之上述頁面發生無法藉由編解碼進行修復之錯誤時,將相應於上述第一字元線之上述頁面標記為一損壞頁面。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述非單階儲存單元模式係為一三階儲存單元模式。
- 根據申請專利範圍第5項之資料儲存裝置,其中上述控制器更用以在上述校正電壓分佈程序中,在上述三階儲存單元模式下,將一數位邏輯1寫入相應於上述第一字元線之一中央有效位元頁面,以校正相應於上述第一字元線之記憶體儲存單元的電壓分佈。
- 根據申請專利範圍第6項之資料儲存裝置,其中上述控制器更用以在上述校正電壓分佈程序中,在上述數位邏輯1寫入上述最高有效位元頁面以及上述中央有效位元頁面後,致使上述快閃記憶體回復至上述單階儲存單元模式,並且在上述單階儲存單元模式下,再對相應於上述第一字元線之上述頁面進行一第二次讀取動作。
- 根據申請專利範圍第7項之資料儲存裝置,其中上述控制器更用以當上述第二次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,將相應於上述第一字元線之上述頁面標記為一損壞頁面。
- 根據申請專利範圍第1項之資料儲存裝置,其中當上述第一次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,上述控制器更用以在上述校正電壓分佈程序前執行一重複讀取程序,其中在上述重複讀取程序中,上述控制器用以根據一重複讀取表,對 上述快閃記憶體中之一暫存器進行一電壓設定動作,以將上述暫存器中之數值,作為上述快閃記憶體之讀取電壓。
- 根據申請專利範圍第5項之資料儲存裝置,其中上述控制器更用以在上述重複讀取程序中,藉由所設定之上述快閃記憶體之讀取電壓對相應於上述第一字元線之上述頁面進行一第二次讀取動作,並將一重複讀取計數加一。
- 根據申請專利範圍第10項之資料儲存裝置,其中在上述重複讀取程序中,上述控制器更用以判斷上述重複讀取計數是否超過一第一既定值,並當上述重複讀取計數超過上述第一既定值時,進行上述校正電壓程序。
- 一種錯誤校正方法,適用於一資料儲存裝置,其中上述資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一非單階儲存單元模式,上述錯誤校正方法包括:在上述單階儲存單元模式下,根據一主機之一讀取命令對上述快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作;判斷上述第一次讀取動作讀取上述第一頁面時,是否發生無法藉由編解碼進行修復之錯誤;以及當上述第一次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,執行一校正電壓分佈程序,其中上述校正電壓分佈程序包括:致使上述快閃記憶體切換至上述非單階儲存單元模式;以及 在上述非單階儲存單元模式下,將一數位邏輯1寫入相應於上述第一字元線之一最高有效位元頁面,以校正相應於上述第一字元線之記憶體儲存單元的電壓分佈。
- 根據申請專利範圍第12項之錯誤校正方法,其中上述非單階儲存單元模式係為一二階儲存單元模式。
- 根據申請專利範圍第13項之錯誤校正方法,其中上述校正電壓分佈程序之步驟更包括:在上述數位邏輯1寫入上述最高有效位元頁面後,致使上述快閃記憶體回復至上述單階儲存單元模式;以及在上述單階儲存單元模式下,再對相應於上述第一字元線之上述頁面進行一第二次讀取動作。
- 根據申請專利範圍第14項之錯誤校正方法,其中上述校正電壓分佈程序之步驟更包括當上述第二次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,將相應於上述第一字元線之上述頁面標記為一損壞頁面。
- 根據申請專利範圍第12項之錯誤校正方法,其中上述非單階儲存單元模式係為一三階儲存單元模式。
- 根據申請專利範圍第16項之錯誤校正方法,其中上述校正電壓分佈程序之步驟更包括在上述三階儲存單元模式下,將一數位邏輯1寫入相應於上述第一字元線之一中央有效位元頁面,以校正相應於上述第一字元線之記憶體儲存單元的電壓分佈。
- 根據申請專利範圍第17項之錯誤校正方法,其中上述校正 電壓分佈程序之步驟更包括:在上述數位邏輯1寫入上述最高有效位元頁面以及上述中央有效位元頁面後,致使上述快閃記憶體回復至上述單階儲存單元模式;以及在上述單階儲存單元模式下,再對相應於上述第一字元線之上述頁面進行一第二次讀取動作。
- 根據申請專利範圍第18項之錯誤校正方法,其中上述校正電壓分佈程序之步驟更包括當上述第二次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,將相應於上述第一字元線之上述頁面標記為一損壞頁面。
- 根據申請專利範圍第12項之錯誤校正方法,更包括當上述第一次讀取動作讀取相應於上述第一字元線之上述頁面發生無法藉由編解碼進行修復之錯誤時,在上述校正電壓分佈程序前執行一重複讀取程序,其中上述重複讀取程序包括根據一重複讀取表,對上述快閃記憶體中之一暫存器進行一電壓設定動作,以將上述暫存器中之數值,作為上述快閃記憶體之讀取電壓。
- 根據申請專利範圍第20項之錯誤校正方法,其中上述重複讀取程序之步驟更包括藉由所設定之上述快閃記憶體之讀取電壓對相應於上述第一字元線之上述頁面進行一第二次讀取動作,並將一重複讀取計數加一。
- 根據申請專利範圍第21項之錯誤校正方法,其中上述重複讀取程序之步驟更包括: 判斷上述重複讀取計數是否超過一第一既定值;以及當上述重複讀取計數超過上述第一既定值時,進行上述校正電壓程序。
- 一種資料讀取方法,適用於一資料儲存裝置,其中上述資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一多階儲存單元模式,上述資料讀取方法包括:在上述單階儲存單元模式下,根據一主機之一讀取命令對上述快閃記憶體中相應於一第一字元線之一頁面進行一第一次讀取動作以獲取一第一資料;當上述第一資料發生無法修復之錯誤時,致使上述快閃記憶體切換至上述多階儲存單元模式;以及在上述多階儲存單元模式下,將一預設資料寫入相應於上述第一字元線之一最高有效位元頁面;致使上述快閃記憶體切換至上述單階儲存單元模式;以及再次讀取上述第一字元線之上述頁面以獲取一第二資料。
- 根據申請專利範圍第23項之資料讀取方法,其中上述預設資料為0xFF。
- 根據申請專利範圍第23項之資料讀取方法,更包含:當上述第二資料無錯誤或錯誤可更正時,將上述第二資料傳送予上述主機。
- 根據申請專利範圍第23項之資料讀取方法,更包含:當上述第二資料發生無法修復之錯誤時,將相應於上述第一字元線之上述頁面標記為一損壞頁面。
- 根據申請專利範圍第23項之資料讀取方法,更包含: 當上述第二資料發生無法修復之錯誤時,將相應於上述第一字元線對應之一第一區塊標記為一損壞區塊。
- 一種資料讀取方法,適用於一資料儲存裝置,其中上述資料儲存裝置包含一快閃記憶體用以操作於一單階儲存單元模式以及一多階儲存單元模式,上述資料讀取方法包括:根據一主機之一讀取命令對上述快閃記憶體中相應於一第一字元線之一頁面進行上述單階儲存單元模式的一第一次讀取動作以獲取一第一資料;當上述第一資料發生無法修復之錯誤時,將一預設資料以上述多階儲存單元模式寫入相應於上述第一字元線之一最高有效位元頁面;以上述單階儲存單元模式讀取上述第一字元線之上述頁面以獲取一第二資料;以及當上述第二資料無錯誤或錯誤可更正時,將上述第二資料傳送予上述主機。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410081026.3A CN104217762B (zh) | 2013-05-31 | 2014-03-06 | 数据储存装置及其错误校正方法以及数据读取方法 |
US14/271,928 US9274893B2 (en) | 2013-05-31 | 2014-05-07 | Data storage device and error correction method thereof |
KR1020140066289A KR101557389B1 (ko) | 2013-05-31 | 2014-05-30 | 데이터 저장 소자 및 그 에러 정정 방법 |
US15/005,272 US9697076B2 (en) | 2013-05-31 | 2016-01-25 | Data storage device and error correction method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361829491P | 2013-05-31 | 2013-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201445575A true TW201445575A (zh) | 2014-12-01 |
TWI527050B TWI527050B (zh) | 2016-03-21 |
Family
ID=52707155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102145065A TWI527050B (zh) | 2013-05-31 | 2013-12-09 | 資料儲存裝置及其錯誤校正方法以及資料讀取方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI527050B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9778867B2 (en) | 2015-02-05 | 2017-10-03 | Silicon Motion, Inc. | Data maintenance method for error correction and data storage device using the same |
-
2013
- 2013-12-09 TW TW102145065A patent/TWI527050B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9778867B2 (en) | 2015-02-05 | 2017-10-03 | Silicon Motion, Inc. | Data maintenance method for error correction and data storage device using the same |
Also Published As
Publication number | Publication date |
---|---|
TWI527050B (zh) | 2016-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104217762B (zh) | 数据储存装置及其错误校正方法以及数据读取方法 | |
TWI607312B (zh) | 資料儲存裝置及其資料寫入方法 | |
JP5943395B2 (ja) | メモリコントローラおよびデータ記憶装置 | |
TWI621129B (zh) | 資料儲存裝置及其資料寫入方法 | |
TWI571742B (zh) | 資料儲存裝置及資料維護方法 | |
US9543983B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TW201511016A (zh) | 更新讀取電壓 | |
US9136875B2 (en) | Decoding method, memory storage device and rewritable non-volatile memory module | |
US8289771B2 (en) | Data reading method and control circuit and memory controller using the same | |
US9257187B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
KR102070667B1 (ko) | 비휘발성 메모리 장치의 구동 방법 | |
TWI523025B (zh) | 資料儲存裝置及其錯誤校正方法 | |
CN104217761B (zh) | 数据储存装置及其错误校正方法 | |
JP2020047312A (ja) | メモリシステム | |
TWI631456B (zh) | 資料儲存裝置及資料維護方法 | |
US9690661B2 (en) | Non-volatile memory devices and controllers | |
US10340023B1 (en) | Method and system for determining bit values in non-volatile memory | |
US9697892B1 (en) | Generation and application of gray codes | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
TWI527050B (zh) | 資料儲存裝置及其錯誤校正方法以及資料讀取方法 | |
TWI566094B (zh) | 資料儲存裝置及其資料更新方法 | |
TWI640868B (zh) | 資料儲存裝置及其資料寫入方法 | |
TWI515729B (zh) | 資料儲存裝置及其錯誤校正方法 | |
TWI544490B (zh) | 資料儲存裝置及其資料維護方法 | |
TWI691967B (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 |