TWI615852B - 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI615852B TWI615852B TW106101855A TW106101855A TWI615852B TW I615852 B TWI615852 B TW I615852B TW 106101855 A TW106101855 A TW 106101855A TW 106101855 A TW106101855 A TW 106101855A TW I615852 B TWI615852 B TW I615852B
- Authority
- TW
- Taiwan
- Prior art keywords
- reread
- parameter
- memory
- weight
- available
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
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)
- Read Only Memory (AREA)
Abstract
一種記憶體重讀方法、記憶體控制電路單元與記憶體儲存裝置。所述方法包括:根據多個重讀參數組的多個權重設定所述重讀參數組的排列順序;根據讀取電壓從實體程式化單元中讀取資料;倘若所述資料無法被對應錯誤校正碼正確地校正,根據所述排列順序從所述重讀參數組中選取調整重讀參數組;根據所述調整重讀參數組重新從所述讀取實體程式化單元讀取新資料;倘若所述新資料可被所述對應錯誤校正碼正確地校正,決定所述調整重讀參數組為可用重讀參數組;以及調整所述可用重讀參數組的權重。
Description
本發明是有關於一種記憶體重讀方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的記憶體重讀方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體模組作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
一般來說,快閃記憶體模組中的實體程式化單元是由排列在同一條字元線上的數個記憶胞所組成。當欲將資料程式化至實體程式化單元時,是藉由改變記憶胞的臨界電壓從而定義記憶胞的儲存狀態而實現儲存資料的功能。然而,可能因抹除次數過高造成的記憶胞磨耗、久置、讀取干擾等不同因素,使快閃記憶體模組的記憶胞的臨界電壓分佈偏移,以致於記憶胞的儲存狀態無法被正確地識別。因而,當施加預設臨界電壓至字元線來讀取儲存在實體程式化單元中的資料時,所讀取的資料會發生錯誤位元。
當從實體程式化單元中所讀取的資料發生錯誤位元時,快閃記憶體模組的記憶體控制電路單元會嘗試校正所讀取的資料。倘若無法正確地校正所讀取的資料,記憶體控制電路單元會對欲執行讀取操作的實體程式化單元執行重讀操作。一般來說,記憶體控制電路單元會根據製造商所提供的重讀參數來調整預設讀取電壓以對實體程式化單元執行重讀操作來獲取新資料。然而,在執行重讀操作的過程中,記憶體控制電路單元僅能依據固定的優先順序來選取重讀參數。在此情況下,倘若有效的重讀參數的優先順序較低,記憶體控制電路單元需先使用大量無效的重讀參數來執行重讀操作之後,才能選取到有效的重讀參數。因而導致耗費相當多時間在執行重讀操作。
本發明提供一種記憶體重讀方法、記憶體控制電路單元及記憶體儲存裝置,其可有效縮短重讀操作的執行時間。
本發明的一範例實施例提供一種記憶體重讀方法,用於包括多條字元線的可複寫式非揮發性記憶體模組。本方法包括:根據多個重讀參數組的多個第一權重設定所述重讀參數組的第一排列順序,其中每一個重讀參數組對應一個第一權重。本方法也包括:根據第一讀取電壓從第一字元線上的第一實體程式化單元中讀取第一資料,以及倘若第一資料無法被第一對應錯誤校正碼正確地校正,根據第一排列順序從所述重讀參數組中選取第一調整重讀參數組。本方法還包括:根據第一調整重讀參數組重新從第一實體程式化單元中讀取第一新資料。本方法更包括:倘若第一新資料可被第一對應錯誤校正碼正確地校正,決定第一調整重讀參數組為第一可用重讀參數組,以及調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,上述的記憶體重讀方法更包括:倘若第一新資料無法被第一對應錯誤校正碼正確地校正,根據第一排列順序從所述重讀參數組中重新選取第一調整重讀參數組。
在本發明的一範例實施例中,所述第一調整重讀參數組包括至少一讀取電壓調整值,上述的根據第一調整重讀參數組重新從第一實體程式化單元中讀取第一新資料的步驟包括:根據第一調整重讀參數組的至少一讀取電壓調整值將第一讀取電壓調整為新讀取電壓,以及根據新讀取電壓重新從第一實體程式化單元中讀取第一新資料。
在本發明的一範例實施例中,所述第一調整重讀參數組包括一讀取速度調整值,上述的根據第一調整重讀參數組重新從第一實體程式化單元中讀取第一新資料的步驟包括:根據第一調整參數組的讀取速度調整值調整時脈頻率,並且根據已調整的時脈頻率從第一實體程式化單元讀取第一新資料。
在本發明的一範例實施例中,上述的調整第一可用重讀參數組的第一權重的步驟包括:將第一可用重讀參數組的第一權重從較低權重值調整為較高權重值。
在本發明的一範例實施例中,上述的記憶體重讀方法更包括:記錄第一可用重讀參數組的第一成功重讀次數。上述的調整第一可用重讀參數組的第一權重的步驟包括:根據第一可用重讀參數組的第一成功重讀次數調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,上述的記憶體重讀方法更包括:記錄第一可用重讀參數組為最近使用重讀參數組。上述的調整第一可用重讀參數組的第一權重的步驟包括:根據最近使用重讀參數組將第一可用重讀參數組的第一權重調整為最高權重值。
在本發明的一範例實施例中,上述的記憶體重讀方法更包括:根據所述重讀參數組的多個第二權重設定所述重讀參數組的第二排列順序,其中每一個重讀參數組對應一個第二權重;根據第二讀取電壓從第一字元線上的第二實體程式化單元中讀取第二資料;倘若第二資料無法被第二對應錯誤校正碼正確地校正,根據第二排列順序從所述重讀參數組中選取第二調整重讀參數組;根據第二調整重讀參數組重新從第二實體程式化單元中讀取第二新資料;倘若第二新資料可被第二對應錯誤校正碼正確地校正,決定第二調整重讀參數組為第二可用重讀參數組;以及調整第二可用重讀參數組的第二權重。
在本發明的一範例實施例中,所述第一排列順序不同於所述第二排列順序。
在本發明的一範例實施例中,所述第一實體程式化單元為下實體程式化單元,並且所述第二實體程式化單元為上實體程式化單元。
在本發明的一範例實施例中,上述的記憶體重讀方法更包括:根據已調整的第一可用重讀參數組的第一權重調整所述重讀參數組中第一可用重讀參數組之外的其他重讀參數組的第一權重,並且將已調整的所述重讀參數組的第一權重儲存至可複寫式非揮發性記憶體模組。
本發明的一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。本記憶體控制電路單元包括主機介面、記憶體介面以及記憶體管理電路。主機介面耦接主機系統。記憶體介面耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面。記憶體管理電路根據多個重讀參數組的多個第一權重設定所述重讀參數組的第一排列順序,其中每一個重讀參數組對應一個第一權重。再者,記憶體管理電路發送讀取指令序列以指示根據第一讀取電壓從第一字元線上的第一實體程式化單元中讀取第一資料。倘若第一資料無法被第一對應錯誤校正碼正確地校正,記憶體管理電路根據第一排列順序從所述重讀參數組中選取第一調整重讀參數組。並且,記憶體管理電路根據第一調整重讀參數組重新從第一實體程式化單元中讀取第一新資料。倘若第一新資料可被第一對應錯誤校正碼正確地校正,記憶體管理電路決定第一調整重讀參數組為第一可用重讀參數組,以及調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,倘若第一新資料無法被第一對應錯誤校正碼正確地校正,上述的記憶體管理電路根據第一排列順序從所述重讀參數組中重新選取第一調整重讀參數組。
在本發明的一範例實施例中,所述第一調整重讀參數組包括至少一讀取電壓調整值,上述的記憶體管理電路根據第一調整重讀參數組的至少一讀取電壓調整值將第一讀取電壓調整為新讀取電壓,以及發送另一讀取指令序列以指示根據新讀取電壓重新從第一實體程式化單元中讀取第一新資料。
在本發明的一範例實施例中,所述第一調整重讀參數組包括至少一讀取速度調整值,上述的記憶體管理電路用以根據第一調整參數組的讀取速度調整值調整時脈頻率,並且根據已調整的時脈頻率從第一實體程式化單元讀取第一新資料。
在本發明的一範例實施例中,上述的記憶體管理電路將第一可用重讀參數組的第一權重從較低權重值調整為較高權重值。
在本發明的一範例實施例中,上述的記憶體管理電路記錄第一可用重讀參數組的第一成功重讀次數,並且根據第一可用重讀參數組的第一成功重讀次數調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,上述的記憶體管理電路記錄第一可用重讀參數組為最近使用重讀參數組,並且根據最近使用重讀參數組將第一可用重讀參數組的第一權重調整為一最高權重值。
在本發明的一範例實施例中,上述的記憶體管理電路根據所述重讀參數組的多個第二權重設定所述重讀參數組的第二排列順序,其中每一個重讀參數組對應一個第二權重;發送另一讀取指令序列以指示根據第二讀取電壓從第一字元線上的第二實體程式化單元中讀取第二資料。倘若第二資料無法被第二對應錯誤校正碼正確地校正,上述的記憶體管理電路根據第二排列順序從所述重讀參數組中選取第二調整重讀參數組,並且根據第二調整重讀參數組重新從第二實體程式化單元中讀取第二新資料。倘若第二新資料可被第二對應錯誤校正碼正確地校正,上述的記憶體管理電路決定第二調整重讀參數組為第二可用重讀參數組,並且調整第二可用重讀參數組的第二權重。
在本發明的一範例實施例中,所述第一排列順序不同於所述第二排列順序。
在本發明的一範例實施例中,所述第一實體程式化單元為下實體程式化單元,並且所述第二實體程式化單元為上實體程式化單元。
在本發明的一範例實施例中,上述的記憶體管理電路用以根據已調整的第一可用重讀參數組的第一權重調整所述重讀參數組中第一可用重讀參數組之外的其他重讀參數組的第一權重,並且將已調整的所述重讀參數組的第一權重儲存至可複寫式非揮發性記憶體模組。
本發明的一範例實施例提出一種記憶體儲存裝置,包括連接介面單元、可複寫式非揮發性記憶體模組以及記憶體控制電路單元。連接介面單元耦接至主機系統。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。記憶體控制電路單元耦接至主機介面與記憶體介面。記憶體控制電路單元根據多個重讀參數組的多個第一權重設定所述重讀參數組的第一排列順序,其中每一個重讀參數組對應一個第一權重。再者,記憶體控制電路單元發送讀取指令序列以指示根據第一讀取電壓從第一字元線上的第一實體程式化單元中讀取第一資料。倘若第一資料無法被第一對應錯誤校正碼正確地校正,記憶體控制電路單元根據第一排列順序從所述重讀參數組中選取第一調整重讀參數組。並且,記憶體控制電路單元根據第一調整重讀參數組重新從第一實體程式化單元中讀取第一新資料。倘若第一新資料可被第一對應錯誤校正碼正確地校正,記憶體控制電路單元決定第一調整重讀參數組為第一可用重讀參數組,以及調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,倘若第一新資料無法被第一對應錯誤校正碼正確地校正,上述的記憶體控制電路單元根據第一排列順序從所述重讀參數組中重新選取第一調整重讀參數組。
在本發明的一範例實施例中,所述第一調整重讀參數組包括至少一讀取電壓調整值,上述的記憶體控制電路單元根據第一調整重讀參數組的至少一讀取電壓調整值將第一讀取電壓調整為新讀取電壓,以及發送另一讀取指令序列以指示根據新讀取電壓重新從第一實體程式化單元中讀取第一新資料。
在本發明的一範例實施例中,所述第一調整重讀參數組包括至少一讀取速度調整值,上述的記憶體控制電路單元用以根據第一調整參數組的讀取速度調整值調整時脈頻率,並且根據已調整的時脈頻率從第一實體程式化單元讀取第一新資料。
在本發明的一範例實施例中,上述的記憶體控制電路單元將第一可用重讀參數組的第一權重從較低權重值調整為較高權重值。
在本發明的一範例實施例中,上述的記憶體控制電路單元記錄第一可用重讀參數組的第一成功重讀次數,並且根據第一可用重讀參數組的第一成功重讀次數調整第一可用重讀參數組的第一權重。
在本發明的一範例實施例中,上述的記憶體控制電路單元記錄第一可用重讀參數組為最近使用重讀參數組,並且根據最近使用重讀參數組將第一可用重讀參數組的第一權重調整為最高權重值。
在本發明的一範例實施例中,上述的記憶體控制電路單元根據所述重讀參數組的多個第二權重設定所述重讀參數組的第二排列順序,其中每一個重讀參數組對應一個第二權重;發送另一讀取指令序列以指示根據第二讀取電壓從第一字元線上的第二實體程式化單元中讀取第二資料。倘若第二資料無法被第二對應錯誤校正碼正確地校正,上述的記憶體控制電路單元根據第二排列順序從所述重讀參數組中選取第二調整重讀參數組,並且根據第二調整重讀參數組重新從第二實體程式化單元中讀取第二新資料。倘若第二新資料可被第二對應錯誤校正碼正確地校正,上述的記憶體控制電路單元決定第二調整重讀參數組為第二可用重讀參數組,並且調整第二可用重讀參數組的第二權重。
在本發明的一範例實施例中,所述第一排列順序不同於所述第二排列順序。
在本發明的一範例實施例中,所述第一實體程式化單元為下實體程式化單元,並且所述第二實體程式化單元為上實體程式化單元。
在本發明的一範例實施例中,上述的記憶體控制電路單元用以根據已調整的第一可用重讀參數組的第一權重調整所述重讀參數組中第一可用重讀參數組之外的其他重讀參數組的第一權重,並且將已調整的所述重讀參數組的第一權重儲存至可複寫式非揮發性記憶體模組。
基於上述,本發明藉由調整所決定出的可用重讀參數組的權重來重新設定所有重讀參數組的排列順序。使得在一次重讀操作中所決定的可用重讀參數組,可在下一次重讀操作中優先地被選取為調整重讀參數組。如此一來,可以減少決定出可用重讀參數組的時間,進而有效縮短重讀操作的執行時間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路單元)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖,且圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114是可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication Storage, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的SD卡32、CF卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝儲存裝置(embedded Multi Chip Package, eMCP)342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、安全數位(Secure Digital, SD)介面標準、記憶棒(Memory Stick, MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card, MMC)介面標準、嵌入式多媒體儲存卡(Embedded Multimedia Card, eMMC)介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)介面標準、小型快閃(Compact Flash, CF)介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個資料位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。例如,同一條字元線上的記憶胞會組成一或多個實體程式化單元。倘若每一個記憶胞可儲存2個以上的資料位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。舉例而言,SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料,因此,在SLC NAND型快閃記憶體中,排列在同一條字元線上的數個記憶胞是對應一個實體程式化單元。相對於SLC NAND型快閃記憶體來說,MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料,其中每一個儲存狀態(即,“11”、“10”、“01”與“00”)包括最低有效位元(Least Significant Bit, LSB)以及最高有效位元(Most Significant Bit, MSB)。例如,儲存狀態中從左側算起之第1個位元的值為LSB,而從左側算起之第2個位元的值為MSB。因此,排列在同一條字元線上的數個記憶胞可組成2個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元(low physical programming unit),並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元(upper physical programming unit)。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
類似地,在TLC NAND型快閃記憶體中,每個記憶胞可儲存3個位元的資料,其中每一個儲存狀態(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”與“000”)包括左側算起之第1個位元的LSB、從左側算起之第2個位元的中間有效位元(Center Significant Bit, CSB)以及從左側算起之第3個位元的MSB。因此,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤校正碼)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
在本範例實施例中,可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(亦稱為為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504與記憶體介面506、緩衝記憶體510、電源管理電路512與錯誤檢查與校正電路508。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
主機介面504是耦接至記憶體管理電路502並且用以耦接至連接介面單元402,以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準 、UHS-II介面標準、SD標準 、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code, ECC Code),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路508會根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖6是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分佈的示意圖。
在圖6中,橫軸代表記憶胞的臨界電壓,而縱軸代表記憶胞個數。
請參照圖6,假設狀態610對應於位元“1”並且狀態620對應於位元“0”。倘若某一個記憶胞的臨界電壓屬於狀態610,此記憶胞所儲存的是位元“1”;相對地,倘若某一個記憶胞的臨界電壓屬於狀態620時,此記憶胞所儲存的是位元“0”。須注意的是,在本範例實施例中,臨界電壓分佈中的一個狀態對應至一個位元值(即,“0”或“1”),並且記憶胞的臨界電壓分佈有兩種可能的狀態。然而,在其他範例實施例中,臨界電壓分佈中的每一個狀態也可以對應至多個位元值並且記憶胞的臨界電壓的分佈也可能有四種、八種或其他任意個狀態。此外,本發明也不限制每一個狀態所代表的位元。例如,在另一範例實施例中,狀態610也可以對應於位元“0”,而狀態620則對應於位元“1”。
在本範例實施例中,當要從可複寫式非揮發性記憶體模組406讀取資料時,記憶體管理電路502會發送一讀取指令序列至可複寫式非揮發性記憶體模組406。此讀取指令序列用以指示可複寫式非揮發性記憶體模組406從多個記憶胞(亦稱為第一記憶胞)讀取資料。在本範例實施例中,第一記憶胞是屬於同一個實體程式化單元。然而,在另一範例實施例中,第一記憶胞亦可以是屬於不同的實體程式化單元。在臨界電壓分佈未發生偏移的狀況下,第一記憶胞的臨界電壓分佈為狀態610與狀態620。根據此讀取指令序列,可複寫式非揮發性記憶體模組406可根據圖6中的讀取電壓601從第一記憶胞讀取資料。讀取電壓601可為可複寫式非揮發性記憶體模組406出廠時的預設讀取電壓,可用來識別第一記憶胞的狀態610與狀態620。也就是說,第一記憶胞中臨界電壓小於讀取電壓601的記憶胞會被導通,並且記憶體管理電路502會讀到位元“1”。相對地,第一記憶胞中臨界電壓大於讀取電壓601的記憶胞不會被導通,並且記憶體管理電路502會讀到位元“0”。
然而,因為不同的因素,例如資料久置、記憶胞磨耗及讀取干擾等,會導致第一記憶胞的臨界電壓分佈偏移,以致於使用讀取電壓601無法正確地識別出第一記憶胞的儲存狀態。
假設第一記憶胞的臨界電壓分佈已偏移,導致臨界電壓分佈的狀態610與620分別偏移為狀態610’與620’。在此情況下,在第一記憶胞中有一些記憶胞所儲存的應該是位元“1”(屬於狀態610’),但其臨界電壓大於所施加的讀取電壓601;或者,在第一記憶胞中有一些記憶胞所儲存的應該是位元“0”(屬於狀態620’),但其臨界電壓小於所施加的讀取電壓601。換言之,經由施加讀取電壓601所讀取的資料中,有部份的位元會有錯誤。因此,在從可複寫式非揮發性記憶體模組406接收所讀取的資料之後,錯誤檢查與校正電路508會一併讀取對應所讀取資料的錯誤校正碼以驗證所讀取資料中是否存在錯誤。若判定所讀取資料中存在錯誤,則錯誤檢查與校正電路508會執行解碼操作來嘗試校正所讀取資料中的錯誤。而當所讀取資料中的錯誤無法被錯誤檢查與校正電路508正確地解碼(例如所讀取資料的錯誤位元數目超過錯誤檢查與校正電路508的保護能力)時,會導致所讀取資料無法被正確地校正而產生錯誤資料。
在本範例實施例中,當所讀取資料無法被正確地校正時,記憶體管理電路502會對欲執行讀取操作的字元線上的實體程式化單元執行重讀(retry read)操作以獲取可被錯誤檢查與校正電路508正確地校正的資料。而在執行重讀操作的過程中,記憶體管理電路502會從多個重讀參數組中決定出可用重讀參數組,並且根據所決定的可用重讀參數組從第一字元線上的第一實體程式化單元中重新讀取資料以獲取正確資料。
而上述的每個重讀參數組中可包括至少一個參數。舉例而言,一個重讀參數組中的參數會包括一個或多個讀取電壓調整值。讀取電壓調整值可以是可複寫式非揮發性記憶體模組406的製造廠商所提供的參數。因此,記憶體管理電路502可根據可用重讀參數組所包括的讀取電壓調整值來獲取可用讀取電壓。當施予可用讀取電壓至可複寫式非揮發性記憶體模組406以從一個實體程式化單元中讀取資料時,所讀取的資料可被錯誤檢查與校正電路508正確地校正。然而,在另一範例實施例中,一個重讀參數組的參數亦可為讀取速度調整值,而記憶體管理電路502可以根據讀取速度調整值調整執行讀取操作時的時脈頻率。此外,在另一範例實施例中,也可將用來獲取可解碼的資料所對應的軟位元(soft bit)電壓準位設定為一個重讀參數組中的參數。基此,記憶體管理電路502可以根據此重讀參數組的軟位元電壓準位來執行重讀操作。然而,上述參數僅為舉例,本發明並不限制重讀參數組中的參數。
在本範例實施例中,每個重讀參數組會具有對應的一個或多個權重。特別是,記憶體管理電路502會根據重讀參數組的權重來排序重讀參數組,並且根據排序後的排列順序來選取要用來執行重讀操作的重讀參數組(亦稱為調整重讀參數組)。例如,假設一個重讀參數組的參數為一個讀取電壓調整值,以圖6為例,記憶體管理電路502根據排列順序依序選出了一個調整重讀參數組,並且根據調整重讀參數組的讀取電壓調整值將讀取電壓601調整為讀取電壓602。進而,記憶體管理電路502發送一個讀取指令序列以指示根據讀取電壓602從第一實體程式化單元中重新讀取資料。倘若施予讀取電壓602從第一實體程式化單元中所讀取的資料能夠被錯誤檢查與校正電路508正確地校正時,則所選取的調整重讀參數組即為可用重讀參數組。另一方面,倘若施予讀取電壓602從第一實體程式化單元中所讀取的資料無法被錯誤檢查與校正電路508正確地校正,記憶體管理電路502會再次執行選取調整重讀參數組的操作,直到決定出可用重讀參數組為止。
雖然在本範例實施例中是根據一個讀取電壓來讀取儲存在第一實體程式化單元的資料,然而本發明並不以此為限。在另一範例實施例中,亦可根據多個讀取電壓來讀取儲存在第一實體程式化單元的資料。並且一個重讀參數組中的參數可包括多個讀取電壓調整值,而記憶體管理電路502可根據多個讀取電壓調整值來調整用來從第一實體程式化單元中讀取資料的多個讀取電壓。
在決定出可用重讀參數組之後,記憶體管理電路502會調整可用重讀參數組的權重。在一範例實施例中,記憶體管理電路502還會根據已調整的可用重讀參數組的權重來調整其他重讀參數組的權重。進而,記憶體管理電路502可根據已調整的權重來重新設定所有重讀參數組的排列順序。
圖7是根據本發明的一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。為便於說明,以下的範例實施例中是以施予第一讀取電壓至第一字元線以讀取儲存在第一字元線上第一實體程式化單元中的資料為例來說明。並且,在本範例實施例中的一個重讀參數組是對應一個權重(亦稱為第一權重)。
請參照圖7,用來執行重讀操作的重讀參數組包括重讀參數組A~H。重讀參數組A~H分別具有對應的權重,而重讀參數組A~H會根據權重來排序。在可複寫式非揮發性記憶體模組406製造完成時,重讀參數組A~H的權重可分別為一初始權重值。重讀參數組A~H會根據初始權重值而初始地排序為初始排列順序。在本範例實施例中,初始權重值可以是由製造廠商提供。如權重記錄表710所示,重讀參數組A~H的權重的初始權重值分別是1~8,因此重讀參數組A~H根據初始權重值被排序為排列順序Seq_711。在此,權重值“1”用以代表最高權重值,權重值“8”用以代表最低權重值。記憶體管理電路502會根據最高權重值到最低權重值的順序來排序重讀參數組A~H。因此,重讀參數組A~H根據初始權重值而排序為排列順序Seq_711。需注意的是,本範例實施例的8個重讀參數組A~H僅為舉例。然而,在其他範例實施例中,可以設定更少或更多數目的重讀參數組。本發明並不限制重讀參數組的數目。
當根據第一讀取電壓從第一實體程式化單元中所讀取的資料無法被錯誤檢查與校正電路508正確地校正時,記憶體管理電路502會根據重讀參數組A~H來對第一實體程式化單元執行重讀操作。上述的第一讀取電壓可為預設讀取電壓。當記憶體管理電路502第一次執行重讀操作時,記憶體管理電路502會根據初始排列順序(亦即排列順序Seq_711)首先選取重讀參數組A作為調整重讀參數組來執行重讀操作。在本範例實施例中是以重讀參數組A~H中分別包括一個讀取電壓調整值的參數來舉例說明。記憶體管理電路502根據重讀參數組A的讀取電壓調整值將讀取電壓調整為新讀取電壓。進而,記憶體管理電路502發送一個讀取指令序列以指示根據新讀取電壓從第一實體程式化單元中讀取出新資料(亦稱為第一新資料)。倘若根據新讀取電壓所讀取的新資料無法被正確地校正時,記憶體管理電路502會根據排列順序Seq_711依序選取重讀參數組B作為調整重讀參數組來執行重讀操作以重新獲取新資料。依此類推,記憶體管理電路502根據排列順序Seq_711依序選取到重讀參數組D作為調整重讀參數組來調整讀取電壓,並且根據所調整出的新讀取電壓所讀取出的新資料可被正確地校正,記憶體管理電路502會決定重讀參數組D為本次執行的重讀操作的可用重讀參數組。
在本範例實施例中,記憶體管理電路502會記錄所決定的可用重讀參數組為最近使用重讀參數組,並且根據最近使用重讀參數組來調整所有重讀參數組的權重。記憶體管理電路502會將最近使用重讀參數組的權重從較低權重值調整為較高權重值,並且將其他重讀參數組的權重從較高權重值對應調整為較低權重值。例如,記憶體管理電路502記錄重讀參數組D為最近使用重讀參數組,並且將重讀參數組D的權重從權重值“4”調整為權重值“1”(亦即最高權重值)。在本範例實施例中,記憶體管理電路502會將重讀參數組A~C的權重分別調整為權重值“2”、“3”、“4”,而重讀參數組E~H的權重則不會被調整,如權重記錄表720所示。記憶體管理電路502根據調整後的權重重新設定重讀參數組A~H的排列順序為排列順序Seq_721。
然而,在另一範例實施例中,記憶體管理電路502會將重讀參數組E~H的權重分別調整為權重值“2”、“3”、“4”、“5”,並且將重讀參數組A~C的權重對應調整為“6”、“7”、“8”。也就是說,記憶體管理電路502根據調整後的權重重新設定重讀參數組A~H的排列順序為DEFGHABC。
由於可複寫式非揮發性記憶體406的記憶胞狀況大致相同,因此導致記憶胞的臨界電壓分佈偏移的原因也可能相同。基此,最近使用的重讀參數組(亦即可用重讀參數組)有較高的機率在下次執行的重讀操作中也被決定為可用重讀參數組。因此,將最近使用重讀參數組的權重調整為最高權重值,在下次需執行重讀操作時可優先選取到最近使用重讀參數組作為調整重讀參數組。
當執行下次重讀操作時,記憶體管理電路502會根據排列順序Seq_721優先選取到重讀參數組D作為調整重讀參數組,並且依據上述方法來決定出可用重讀參數組。假設記憶體管理電路502根據排列順序Seq_721決定出重讀參數組G為可用重讀參數組。記憶體管理電路502會記錄重讀參數組G為最近使用重讀參數組,並且將重讀參數組G的權重從權重值“7”調整為權重值“1”且將重讀參數組A~F的權重值分別加1以調整其權重。例如權重記錄表730所示,重讀參數組D的權重從權重值“1”被調整為權重值“2”,重讀參數組A的權重從權重值“2”被調整為權重值“3”,重讀參數組F的權重從權重值“6”被調整為權重值“7”。進而,記憶體管理電路502根據調整後的權重重新設定重讀參數組A~H的排列順序為排列順序Seq_731。
圖8是根據本發明的另一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。與圖7的範例實施例不同的是,在圖8的範例實施例中,記憶體管理電路502會記錄重讀參數組的成功重讀次數,並且根據成功重讀次數來調整權重。
請參照圖8,若一個重讀參數組被決定為可用重讀參數組時,則此重讀參數組的成功重讀次數會被更新。在本範例實施例中,假設重讀參數組A~H目前的成功重讀次數與權重如權重記錄表810所示。例如,重讀參數組A與B的成功重讀次數分別為“7”,重讀參數組A與B的權重分別為權重值“1”與權重值“2”,並且重讀參數組被排序為排列順序Seq_811。在一次重讀操作中,記憶體管理電路502根據排列順序Seq_811決定出重讀參數組B為可用重讀參數組。此時,記憶體管理電路502會將重讀參數組B的成功重讀次數加1以將重讀參數組B的成功重讀次數更新為“8”。接著,記憶體管理電路502會比較重讀參數組B與其他重讀參數組的成功重讀次數,並且判斷出重讀參數組B具有最多成功重讀次數。因此,記憶體管理電路502將重讀參數組B的權重設定為權重值“1”,並且將重讀參數組A的權重值加1以將重讀參數組A的權重更新為權重值“2”,如權重記錄表820所示。進而,記憶體管理電路502根據調整後的權重重新設定重讀參數組A~H的排列順序為排列順序Seq_821。也就是說,下次執行重讀操作時,記憶體管理電路502便可根據排列順序Seq_821優先選取到具有最多成功讀取次數的重讀參數組B作為調整重讀參數組。由於成功重讀次數較高的重讀參數組有較高的機率在下次執行重讀操作時成為可用重讀參數組。因此,將成功重讀次數較高的重讀參數組的權重調整為較高權重值,使得下次執行重讀操作時可優先選取具有較高機率成為可用重讀參數組的重讀參數組來執行重讀操作。
假設下次執行重讀操作時,記憶體管理電路502根據排列順序Seq_821決定出重讀參數組H為可用重讀參數組。記憶體管理電路502會將重讀參數組H的成功重讀次數更新為“2”,如權重記錄表831所示。記憶體管理電路502根據重讀參數組H更新後的成功重讀次數“2”判斷出重讀參數組H的成功重讀次數大於重讀參數組F與G的成功重讀次數。因此,記憶體管理電路502將重讀參數組H的權重調整為權重值“6”,並將重讀參數組F與G的權重值加1以分別將其權重調整為權重值“7”與權重值“8”。進而,記憶體管理電路502根據調整後的權重重新設定重讀參數組A~H的排列順序為排列順序Seq_831。
在上述的範例實施例中,記憶體管理電路502可將調整後的重讀參數組的權重儲存至可複寫式非揮發性記憶體模組406中。然而,在另一範例實施例中,記憶體管理電路502也可不將調整後的重讀參數組的權重儲存至可複寫式非揮發性記憶體模組406中。
圖9是根據本發明的另一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。在圖9的範例實施例中,是以MLC NAND快閃記憶體為例來舉例說明。也就是說,同一條字元線上的記憶胞會組成下實體程式化單元與上實體程式化單元。並且,重讀參數組A~H分別對應第一權重與第二權重等2個權重。
請參照圖9,如權重記錄表910所示,重讀參數組A~H會初始地對應相同的第一權重與第二權重,因此對應第一權重的排列順序(亦稱為第一排列順序)與對應第二權重的排列順序(亦稱為第二排列順序)會初始地對應相同的排列順序Seq_911。
在本範例實施例中,記憶體管理電路502會分別根據對下實體程式化單元與上實體程式化單元執行重讀操作的結果來調整重讀參數組A~H的第一權重與第二權重。
當從一下實體程式化單元中所讀取的資料無法正確地被校正時,記憶體管理電路502會根據對應第一權重的排列順序Seq_911來選取調整重讀參數組以執行重讀操作來決定出可用重讀參數組(亦稱為第一可用重讀參數組)。假設在本次執行重讀操作時,決定出重讀參數組E為第一可用重讀參數組。如權重記錄表920所示,記憶體管理電路502會將重讀參數組E的第一權重調整為權重值“1”,並且將重讀參數組A~D的第一權重分別調整為權重值“2”、權重值“3”、權重值“4”、權重值“5”。基此,重讀參數組A~H的第一排列順序被設定為排列順序Seq_921。倘若下次需對任一下實體程式化單元執行重讀操作時,記憶體管理電路502便會根據排列順序Seq_921來決定第一可用重讀參數組。
此時,由於第二權重尚未被調整,因此重讀參數組A~H的第二排列順序仍為排列順序Seq_911。當從一個上實體程式化單元(亦稱為第二實體程式化單元)中所讀取的資料(亦稱為第二資料)無法正確地被校正時,記憶體管理電路502會根據第二排列順序(亦即排列順序Seq_911)來選取調整重讀參數組來執行重讀操作以決定出可用重讀參數組(亦稱為第二可用重讀參數組)。假設在本次執行重讀操作時,記憶體管理電路502依序選取重讀參數組A、B、C作為調整重讀參數組並且決定出重讀參數組C為第二可用重讀參數組。如權重記錄表930所示,記憶體管理電路502會將重讀參數組C的第二權重調整為權重值“1”,並且將重讀參數組A、B的第二權重分別調整為權重值“2”、權重值“3”。基此,重讀參數組A~H對應第二權重的排列順序被設定為排列順序Seq_931。倘若下次需對任一上實體程式化單元執行重讀操作時,記憶體管理電路502便會根據排列順序Seq_931來決定第二可用重讀參數組。
也就是說,記憶體管理電路502會根據要執行重讀操作的實體程式化單元是屬於下實體程式化單元或上實體程式化單元來決定要使用對應第一權重的排列順序或對應第二權重的排列順序。雖然上述的範例實施例是以MLC NAND快閃記憶體來舉例說明,然而,本發明不限於此,亦可依據上述原理來對其他多層記憶胞NAND型快閃記憶體執行重讀操作。例如,以MLC NAND快閃記憶體為例,重讀參數組A~H可分別對應3個權重(例如第一權重、第二權重與第三權重),記憶體管理電路502會分別依據對應第一權重的排列順序、對應第二權重的排列順序、對應第三權重的排列順序來對下實體程式化單元、中實體程式化單元、上實體程式化單元執行重讀操作,並且分別更新第一權重、第二權重、第三權重。
此外,雖然上述的範例實施例是將每次執行重讀操作所決定的可用重讀參數組(亦即最近使用重讀參數組)的權重調整為最高權重值。然而,重讀參數組的權重也可以是根據成功重讀次數或其他方式來調整,本發明並不以此為限。
圖10是根據本發明的一範例實施例所繪示的記憶體重讀方法的示意圖。
請參照圖10,在步驟S1001中,記憶體管理電路502會根據重讀參數組的權重設定重讀參數組的排列順序。
在步驟S1003中,記憶體管理電路502會發送一個讀取指令序列以指示根據讀取電壓從字元線上的實體程式化單元中讀取資料。在一範例實施例中,此實體程式化單元可為MLC NAND快閃記憶體的下實體程式化單元或上實體程式化單元。在另一範例實施例中,此實體程式化單元可為TLC NAND快閃記憶體的下實體程式化單元、中實體程式化單元或上實體程式化單元。
在步驟S1005中,記憶體管理電路502會判斷所讀取的資料是否可被對應錯誤校正碼正確地校正。例如,此對應錯誤校正碼是在將寫入資料程式化至字元線上的實體程式化單元時,由錯誤檢查與校正電路508根據寫入資料所產生的錯誤校正碼。
倘若所讀取的資料可被此對應錯誤校正碼正確地校正時,在步驟S1007中,記憶體管理電路502會輸出已校正的資料。
倘若所讀取的資料無法被對應錯誤校正碼正確地校正時,記憶體管理電路502會執行步驟S1009。在步驟S1009中,記憶體管理電路502會根據設定的排列順序從重讀參數組中選取調整重讀參數組。接著,在步驟S1011中,記憶體管理電路502會根據調整重讀參數組重新從實體程式化單元中讀取新資料。在一範例實施例中,記憶體管理電路502可以根據調整重讀參數組的讀取電壓調整值將讀取電壓調整為新讀取電壓,並且根據新讀取電壓來從實體程式化單元讀取資料。
在讀取新資料之後,在步驟S1013中,記憶體管理電路502會判斷所讀取的新資料是否可被對應錯誤校正碼正確地校正。
倘若所讀取的新資料無法被對應錯誤校正碼正確地校正,記憶體管理電路502會再次執行步驟S1009以重新選取調整重讀參數組。
倘若所讀取的新資料可被對應錯誤校正碼正確地校正,在步驟S1015中,記憶體管理電路502會決定調整重讀參數組為可用重讀參數組,並且調整可用重讀參數組的權重。此外,記憶體管理電路502可輸出已校正的新資料。爾後,記憶體管理電路502會再次執行步驟S1001以根據已調整的權重重新設定重讀參數組的排列順序。
圖11是根據本發明的另一範例實施例所繪示的記憶體重讀方法的示意圖。與圖10的範例實施例不同的是,在本範例實施例中,一個重讀參數組具有2個權重分別用來作為對MLC NAND快閃記憶體的下實體程式化單元與上實體程式化單元執行重讀操作的依據。
請參照圖11,在步驟S1101中,記憶體管理電路502會根據重讀參數組的第一權重設定重讀參數組的第一排列順序,並且根據重讀參數組的第二權重設定重讀參數組的第二排列順序。
在步驟S1103中,記憶體管理電路502發送一個讀取指令序列以指示根據預設讀取電壓從字元線上的實體程式化單元中讀取資料。在本範例實施例中,所讀取的實體程式化單元可為MLC NAND快閃記憶體的下實體程式化單元或上實體程式化單元。用來讀取下實體程式化單元與上實體程式化單元的預設讀取電壓可為不同的讀取電壓準位。
在步驟S1105中,記憶體管理電路502會判斷所讀取的資料是否可被對應錯誤校正碼正確地校正。例如,此對應錯誤校正碼是在將寫入資料程式化至字元線上的實體程式化單元時,由錯誤檢查與校正電路508根據寫入資料所產生的錯誤校正碼。
倘若所讀取的資料可被對應錯誤校正碼正確地校正,在步驟S1107中,記憶體管理電路502會輸出已校正的資料。
倘若所讀取的資料無法被對應錯誤校正碼正確地校正,記憶體管理電路502會執行步驟S1109。在步驟S1109中,記憶體管理電路502判斷欲執行讀取操作的實體程式化單元是下實體程式化單元或上實體程式化單元。
在步驟S1111中,若欲執行讀取操作的實體程式化單元為下實體程式化單元時,記憶體管理電路502會根據第一排列順序從重讀參數組中選取第一調整重讀參數組。接著,在步驟S1113中,記憶體管理電路502會根據第一調整重讀參數組從此下實體程式化單元中讀取第一新資料。並且,在步驟S1115中,記憶體管理電路502會判斷所讀取的第一新資料是否可被對應錯誤校正碼正確地校正。倘若所讀取的第一新資料無法被對應錯誤校正碼正確地校正,記憶體管理電路502會再次執行步驟S1109以重新選取第一調整重讀參數組。倘若所讀取的第一新資料可被對應錯誤校正碼正確地校正,在步驟S1117中,記憶體管理電路502會決定第一調整重讀參數組為第一可用重讀參數組,並且調整第一可用重讀參數組的第一權重。爾後,記憶體管理電路502會再次執行步驟S1101以根據已調整的第一權重重新設定重讀參數組的第一排列順序。
另一方面,在步驟S1119中,若欲執行讀取操作的實體程式化單元為上實體程式化單元時,記憶體管理電路502會根據第二排列順序從重讀參數組中選取第二調整重讀參數組。接著,在步驟S1121中,記憶體管理電路502會根據第二調整重讀參數組從此上實體程式化單元中讀取第二新資料。並且,在步驟S1123中,記憶體管理電路502會判斷所讀取的第二新資料是否可被對應錯誤校正碼正確地校正。倘若所讀取的第二新資料無法被對應錯誤校正碼正確地校正,記憶體管理電路502會再次執行步驟S1119以重新選取第二調整重讀參數組。倘若所讀取的第二新資料可被對應錯誤校正碼正確地校正,在步驟S1125中,記憶體管理電路502會決定第二調整重讀參數組為第二可用重讀參數組,並且調整第二可用重讀參數組的第二權重。爾後,記憶體管理電路502會再次執行步驟S1101以根據已調整的第二權重重新設定重讀參數組的第二排列順序。
綜上所述,本發明藉由調整重讀參數組的權重,可重新設定重讀參數組的排列順序。使得在對某實體程式化單元執行一次重讀操作中所決定的可用重讀參數組,可在對其它實體程式化單元執行下一次重讀操作中優先地被選取為調整重讀參數組。此外,本發明藉由設定不同的權重還可根據要執行讀取操作的實體程式化單元是屬於下實體程式化單元、中實體程式化單元或上實體程式化單元,分別從對應不同的權重的排列順序中來選取調整重讀參數組,從而決定出可用重讀參數組。如此一來,可以減少決定出可用重讀參數組的時間,進而有效縮短重讀操作的執行時間。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
610、620、610’、620’‧‧‧狀態
601、602‧‧‧讀取電壓
A~H‧‧‧重讀參數組
710、720、730、810、820、830、910、920、930‧‧‧權重記錄表
Seq_711、Seq_721、Seq_731、Seq_811、Seq_821、Seq_831、Seq_911、Seq_921、Seq_931‧‧‧排列順序
S1001‧‧‧根據重讀參數組的權重設定重讀參數組的排列順序的步驟
S1003‧‧‧根據讀取電壓從字元線上的實體程式化單元中讀取資料的步驟
S1005‧‧‧判斷所讀取的資料是否可被對應錯誤校正碼正確地校正的步驟
S1007‧‧‧輸出已校正的資料的步驟
S1009‧‧‧根據設定的排列順序從重讀參數組中選取調整重讀參數組的步驟
S1011‧‧‧根據調整重讀參數組重新從實體程式化單元中讀取新資料的步驟
S1013‧‧‧判斷所讀取的新資料是否可被對應錯誤校正碼正確地校正的步驟
S1015‧‧‧決定調整重讀參數組為可用重讀參數組,並且調整可用重讀參數組的權重的步驟
S1101‧‧‧根據重讀參數組的第一權重設定重讀參數組的第一排列順序,並且根據重讀參數組的第二權重設定重讀參數組的第二排列順序的步驟
S1103‧‧‧根據預設讀取電壓從字元線上的實體程式化單元中讀取資料的步驟
S1105‧‧‧判斷所讀取的資料是否可被對應錯誤校正碼正確地校正的步驟
S1107‧‧‧輸出已校正的資料的步驟
S1109‧‧‧判斷欲執行讀取操作的實體程式化單元是下實體程式化單元或上實體程式化單元
S1111‧‧‧若欲執行讀取操作的實體程式化單元為下實體程式化單元,根據第一排列順序從重讀參數組中選取第一調整重讀參數組的步驟
S1113‧‧‧根據第一調整重讀參數組重新從此下實體程式化單元中讀取第一新資料的步驟
S1115‧‧‧判斷所讀取的第一新資料是否可被對應錯誤校正碼正確地校正的步驟
S1117‧‧‧決定第一調整重讀參數組為第一可用重讀參數組,並且調整第一可用重讀參數組的第一權重的步驟
S1119‧‧‧若欲執行讀取操作的實體程式化單元為上實體程式化單元,根據第二排列順序從重讀參數組中選取第二調整重讀參數組的步驟
S1121‧‧‧根據第二調整重讀參數組重新從此上實體程式化單元中讀取第二新資料的步驟
S1123‧‧‧判斷所讀取的第二新資料是否可被對應錯誤校正碼正確地校正的步驟
S1125‧‧‧決定第二調整重讀參數組為第二可用重讀參數組,並且調整第二可用重讀參數組的第二權重的步驟
11‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
610、620、610’、620’‧‧‧狀態
601、602‧‧‧讀取電壓
A~H‧‧‧重讀參數組
710、720、730、810、820、830、910、920、930‧‧‧權重記錄表
Seq_711、Seq_721、Seq_731、Seq_811、Seq_821、Seq_831、Seq_911、Seq_921、Seq_931‧‧‧排列順序
S1001‧‧‧根據重讀參數組的權重設定重讀參數組的排列順序的步驟
S1003‧‧‧根據讀取電壓從字元線上的實體程式化單元中讀取資料的步驟
S1005‧‧‧判斷所讀取的資料是否可被對應錯誤校正碼正確地校正的步驟
S1007‧‧‧輸出已校正的資料的步驟
S1009‧‧‧根據設定的排列順序從重讀參數組中選取調整重讀參數組的步驟
S1011‧‧‧根據調整重讀參數組重新從實體程式化單元中讀取新資料的步驟
S1013‧‧‧判斷所讀取的新資料是否可被對應錯誤校正碼正確地校正的步驟
S1015‧‧‧決定調整重讀參數組為可用重讀參數組,並且調整可用重讀參數組的權重的步驟
S1101‧‧‧根據重讀參數組的第一權重設定重讀參數組的第一排列順序,並且根據重讀參數組的第二權重設定重讀參數組的第二排列順序的步驟
S1103‧‧‧根據預設讀取電壓從字元線上的實體程式化單元中讀取資料的步驟
S1105‧‧‧判斷所讀取的資料是否可被對應錯誤校正碼正確地校正的步驟
S1107‧‧‧輸出已校正的資料的步驟
S1109‧‧‧判斷欲執行讀取操作的實體程式化單元是下實體程式化單元或上實體程式化單元
S1111‧‧‧若欲執行讀取操作的實體程式化單元為下實體程式化單元,根據第一排列順序從重讀參數組中選取第一調整重讀參數組的步驟
S1113‧‧‧根據第一調整重讀參數組重新從此下實體程式化單元中讀取第一新資料的步驟
S1115‧‧‧判斷所讀取的第一新資料是否可被對應錯誤校正碼正確地校正的步驟
S1117‧‧‧決定第一調整重讀參數組為第一可用重讀參數組,並且調整第一可用重讀參數組的第一權重的步驟
S1119‧‧‧若欲執行讀取操作的實體程式化單元為上實體程式化單元,根據第二排列順序從重讀參數組中選取第二調整重讀參數組的步驟
S1121‧‧‧根據第二調整重讀參數組重新從此上實體程式化單元中讀取第二新資料的步驟
S1123‧‧‧判斷所讀取的第二新資料是否可被對應錯誤校正碼正確地校正的步驟
S1125‧‧‧決定第二調整重讀參數組為第二可用重讀參數組,並且調整第二可用重讀參數組的第二權重的步驟
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示之記憶胞的臨界電壓分佈的示意圖。 圖7是根據本發明的一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。 圖8是根據本發明的另一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。 圖9是根據本發明的另一範例實施例所繪示的調整重讀參數組的權重與排列順序的示意圖。 圖10是根據本發明的一範例實施例所繪示的記憶體重讀方法的示意圖。 圖11是根據本發明的另一範例實施例所繪示的記憶體重讀方法的示意圖。
S1001‧‧‧根據重讀參數組的權重設定重讀參數組的排列順序的步驟
S1003‧‧‧根據讀取電壓從字元線上的實體程式化單元中讀取資料的步驟
S1005‧‧‧判斷所讀取的資料是否可被對應錯誤校正碼正確地校正的步驟
S1007‧‧‧輸出已校正的資料的步驟
S1009‧‧‧根據設定的排列順序從重讀參數組中選取調整重讀參數組的步驟
S1011‧‧‧根據調整重讀參數組重新從實體程式化單元中讀取新資料的步驟
S1013‧‧‧判斷所讀取的新資料是否可被對應錯誤校正碼正確地
校正的步驟
S1015‧‧‧決定調整重讀參數組為可用重讀參數組,並且調整可用重讀參數組的權重的步驟
Claims (24)
- 一種記憶體重讀方法,用於包括多條字元線的一可複寫式非揮發性記憶體模組,所述記憶體重讀方法包括: 根據多個重讀參數組的多個第一權重設定所述多個重讀參數組的一第一排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第一權重之中的其中一個第一權重; 根據一第一讀取電壓從所述多條字元線中的一第一字元線上的一第一實體程式化單元中讀取一第一資料; 倘若所述第一資料無法被一第一對應錯誤校正碼正確地校正,根據所述第一排列順序從所述多個重讀參數組中選取一第一調整重讀參數組; 根據所述第一調整重讀參數組重新從所述第一實體程式化單元讀取一第一新資料; 倘若所述第一新資料可被所述第一對應錯誤校正碼正確地校正,決定所述第一調整重讀參數組為一第一可用重讀參數組;以及 調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第1項所述的記憶體重讀方法,更包括: 倘若所述第一新資料無法被所述第一對應錯誤校正碼正確地校正,根據所述第一排列順序從所述多個重讀參數組中重新選取所述第一調整重讀參數組。
- 如申請專利範圍第1項所述的記憶體重讀方法,其中所述第一調整重讀參數組包括至少一讀取電壓調整值,其中根據所述第一調整重讀參數組重新從所述第一實體程式化單元中讀取所述第一新資料的步驟包括: 根據所述第一調整重讀參數組的所述至少一讀取電壓調整值將所述第一讀取電壓調整為一新讀取電壓;以及 根據所述新讀取電壓重新從所述第一實體程式化單元中讀取所述第一新資料。
- 如申請專利範圍第1項所述的記憶體重讀方法,其中所述第一調整重讀參數組包括一讀取速度調整值,其中根據所述第一調整重讀參數組重新從所述第一實體程式化單元中讀取所述第一新資料的步驟包括: 根據所述第一調整參數組的所述讀取速度調整值調整一時脈頻率;以及 根據已調整的所述時脈頻率從所述第一實體程式化單元讀取所述第一新資料。
- 如申請專利範圍第1項所述的記憶體重讀方法,其中調整所述第一可用重讀參數組的第一權重的步驟包括: 將所述第一可用重讀參數組的第一權重從一較低權重值調整為一較高權重值。
- 如申請專利範圍第1項所述的記憶體重讀方法,更包括: 記錄所述第一可用重讀參數組的一第一成功重讀次數, 其中調整所述第一可用重讀參數組的第一權重的步驟包括: 根據所述第一可用重讀參數組的所述第一成功重讀次數調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第1項所述的記憶體重讀方法,更包括: 記錄所述第一可用重讀參數組為一最近使用重讀參數組, 其中調整所述第一可用重讀參數組的第一權重的步驟包括: 根據所述最近使用重讀參數組將所述第一可用重讀參數組的第一權重調整為一最高權重值。
- 如申請專利範圍第1項所述的記憶體重讀方法,更包括: 根據所述多個重讀參數組的多個第二權重設定所述多個重讀參數組的一第二排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第二權重之中的其中一個第二權重; 根據一第二讀取電壓從所述第一字元線上的一第二實體程式化單元中讀取一第二資料; 倘若所述第二資料無法被一第二對應錯誤校正碼正確地校正,根據所述第二排列順序從所述多個重讀參數組中選取一第二調整重讀參數組; 根據所述第二調整重讀參數組重新從所述第二實體程式化單元中讀取一第二新資料; 倘若所述第二新資料可被所述第二對應錯誤校正碼正確地校正,決定所述第二調整重讀參數組為一第二可用重讀參數組;以及 調整所述第二可用重讀參數組的第二權重。
- 如申請專利範圍第8項所述的記憶體重讀方法,其中所述第一排列順序不同於所述第二排列順序。
- 如申請專利範圍第8項所述的記憶體重讀方法,其中所述第一實體程式化單元為一下實體程式化單元,並且所述第二實體程式化單元為一上實體程式化單元。
- 如申請專利範圍第1項所述的記憶體重讀方法,更包括: 根據已調整的所述第一可用重讀參數組的第一權重調整所述多個重讀參數組中所述第一可用重讀參數組之外的其他重讀參數組的第一權重;以及 將已調整的所述多個重讀參數組的所述多個第一權重儲存至所述可複寫式非揮發性記憶體模組。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括: 一主機介面,用以耦接一主機系統; 一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組;以及 一記憶體管理電路,耦接至所述主機介面與所述記憶體介面, 其中所述記憶體管理電路用以根據多個重讀參數組的多個第一權重設定所述多個重讀參數組的一第一排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第一權重之中的其中一個第一權重, 其中所述記憶體管理電路用以發送一讀取指令序列以指示根據一第一讀取電壓從所述多條字元線中的一第一字元線上的一第一實體程式化單元中讀取一第一資料, 其中倘若所述第一資料無法被一第一對應錯誤校正碼正確地校正,所述記憶體管理電路用以根據所述第一排列順序從所述多個重讀參數組中選取一第一調整重讀參數組, 其中所述記憶體管理電路用以根據所述第一調整重讀參數組重新從所述第一實體程式化單元中讀取一第一新資料, 其中倘若所述第一新資料可被所述第一對應錯誤校正碼正確地校正,所述記憶體管理電路用以決定所述第一調整重讀參數組為一第一可用重讀參數組, 其中所述記憶體管理電路用以調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中倘若所述第一新資料無法被所述第一對應錯誤校正碼正確地校正,所述記憶體管理電路用以根據所述第一排列順序從所述多個重讀參數組中重新選取所述第一調整重讀參數組。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中所述第一調整重讀參數組包括至少一讀取電壓調整值,其中所述記憶體管理電路用以根據所述第一調整重讀參數組的所述至少一讀取電壓調整值將所述第一讀取電壓調整為一新讀取電壓,並且發送另一讀取指令序列以指示根據所述新讀取電壓重新從所述第一實體程式化單元中讀取所述第一新資料。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中所述記憶體管理電路用以將所述第一可用重讀參數組的第一權重從一較低權重值調整為一較高權重值。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中所述記憶體管理電路用以記錄所述第一可用重讀參數組的一第一成功重讀次數,並且根據所述第一成功重讀次數調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中所述記憶體管理電路用以根據所述多個重讀參數組的多個第二權重設定所述多個重讀參數組的一第二排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第二權重之中的其中一個第二權重, 其中所述記憶體管理電路用以發送另一讀取指令序列以指示根據一第二讀取電壓讀取從所述第一字元線上的一第二實體程式化單元中讀取一第二資料, 其中倘若所述第二資料無法被一第二對應錯誤校正碼正確地校正,所述記憶體管理電路用以根據所述第二排列順序從所述多個重讀參數組中選取一第二調整重讀參數組 其中所述記憶體管理電路用以根據所述第二調整重讀參數組重新從所述第二實體程式化單元中讀取一第二新資料, 其中倘若所述第二新資料可被所述第二對應錯誤校正碼正確地校正,所述記憶體管理電路用以決定所述第二調整重讀參數組為一第二可用重讀參數組, 其中所述記憶體管理電路用以調整所述第二可用重讀參數組的第二權重。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中所述第一排列順序不同於所述第二排列順序。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組; 一記憶體控制電路單元,耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組, 其中所述記憶體控制電路單元用以根據多個重讀參數組的多個第一權重設定所述多個重讀參數組的一第一排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第一權重之中的其中一個第一權重, 其中所述記憶體控制電路單元用以發送一讀取指令序列以指示根據一第一讀取電壓從所述多條字元線中的一第一字元線上的一第一實體程式化單元中讀取一第一資料, 其中倘若所述第一資料無法被一第一對應錯誤校正碼正確地校正,所述記憶體控制電路單元用以根據所述第一排列順序從所述多個重讀參數組中選取一第一調整重讀參數組, 其中所述記憶體控制電路單元用以根據所述第一調整重讀參數組重新從所述第一實體程式化單元中讀取一第一新資料, 其中倘若所述第一新資料可被所述第一對應錯誤校正碼正確地校正,所述記憶體控制電路單元用以決定所述第一調整重讀參數組為一第一可用重讀參數組, 其中所述記憶體控制電路單元用以調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中倘若所述第一新資料無法被所述第一對應錯誤校正碼正確地校正,所述記憶體控制電路單元用以根據所述第一排列順序從所述多個重讀參數組中重新選取所述第一調整重讀參數組。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中所述第一調整重讀參數組包括至少一讀取電壓調整值,其中所述記憶體控制電路單元用以根據所述第一調整重讀參數組的所述至少一讀取電壓調整值將所述第一讀取電壓調整為一新讀取電壓,並且發送另一讀取指令序列以指示根據所述新讀取電壓重新從所述第一實體程式化單元中讀取所述第一新資料。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中所述記憶體控制電路單元用以將所述第一可用重讀參數組的第一權重從一較低權重值調整為一較高權重值。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中所述記憶體控制電路單元用以記錄所述第一可用重讀參數組的一第一成功重讀次數,並且根據所述第一成功重讀次數調整所述第一可用重讀參數組的第一權重。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中所述記憶體控制電路單元用以根據所述多個重讀參數組的多個第二權重設定所述多個重讀參數組的一第二排列順序,其中所述多個重讀參數組中的每一個重讀參數組對應所述多個第二權重之中的其中一個第二權重, 其中所述記憶體控制電路單元用以發送另一讀取指令序列以指示根據一第二讀取電壓從所述第一字元線上的一第二實體程式化單元中讀取一第二資料, 其中倘若所述第二資料無法被一第二對應錯誤校正碼正確地校正,所述記憶體控制電路單元用以根據所述第二排列順序從所述多個重讀參數組中選取一第二調整重讀參數組, 其中所述記憶體控制電路單元用以根據所述第二調整重讀參數組重新從所述第二實體程式化單元中讀取一第二新資料, 其中倘若所述第二新資料可被所述第二對應錯誤校正碼正確地校正,所述記憶體控制電路單元用以決定所述第二調整重讀參數組為一第二可用重讀參數組, 其中所述記憶體控制電路單元用以調整所述第二可用重讀參數組的第二權重。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106101855A TWI615852B (zh) | 2017-01-19 | 2017-01-19 | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
US15/458,037 US9773565B1 (en) | 2017-01-19 | 2017-03-14 | Memory retry-read method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106101855A TWI615852B (zh) | 2017-01-19 | 2017-01-19 | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI615852B true TWI615852B (zh) | 2018-02-21 |
TW201828293A TW201828293A (zh) | 2018-08-01 |
Family
ID=59886576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106101855A TWI615852B (zh) | 2017-01-19 | 2017-01-19 | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9773565B1 (zh) |
TW (1) | TWI615852B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797821B (zh) * | 2016-09-05 | 2021-10-08 | 上海宝存信息科技有限公司 | 重试读取方法以及使用该方法的装置 |
US10740178B2 (en) * | 2017-10-05 | 2020-08-11 | Western Digital Technologies, Inc. | Self-prioritizing adaptive retry threshold adjustment |
CN109949850A (zh) * | 2017-12-21 | 2019-06-28 | 光宝电子(广州)有限公司 | 储存系统与储存方法 |
TWI677875B (zh) * | 2018-07-20 | 2019-11-21 | 衡宇科技股份有限公司 | 偵測固態儲存裝置儲存狀態的方法 |
KR102651440B1 (ko) * | 2018-11-15 | 2024-03-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
TWI681393B (zh) * | 2019-01-07 | 2020-01-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
TWI691962B (zh) * | 2019-01-23 | 2020-04-21 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 |
US11942233B2 (en) | 2020-02-10 | 2024-03-26 | American Fire Wire, Inc. | Fire resistant corrugated coaxial cable |
CN112242157B (zh) * | 2020-09-30 | 2022-08-09 | 杭州海康存储科技有限公司 | 数据读电压的确定方法、参数确定方法、装置及设备 |
CN112669893B (zh) * | 2020-12-30 | 2022-08-16 | 杭州海康存储科技有限公司 | 确定待使用读电压的方法、系统、装置及设备 |
TWI807919B (zh) * | 2022-07-14 | 2023-07-01 | 群聯電子股份有限公司 | 資料重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
US11960358B1 (en) | 2022-09-30 | 2024-04-16 | Nxp B.V. | More secure data reading with error correction codes |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757798B2 (en) * | 1997-06-30 | 2004-06-29 | Intel Corporation | Method and apparatus for arbitrating deferred read requests |
US20130080858A1 (en) * | 2011-09-28 | 2013-03-28 | Sang Hoon Lee | Method of reading data from a non-volatile memory and devices and systems to implement same |
CN104051016A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储装置、读取数据方法、存储系统及操作方法 |
US9146850B2 (en) * | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
CN106250193A (zh) * | 2016-08-09 | 2016-12-21 | 上海盈方微电子有限公司 | 一种基于nand存储器的系统启动方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781977B1 (ko) * | 2006-11-02 | 2007-12-06 | 삼성전자주식회사 | 불휘발성 메모리 장치에서의 디코더 및 그에 의한 디코딩방법 |
US7830718B2 (en) * | 2007-11-21 | 2010-11-09 | Micron Technology, Inc. | Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device |
US7800943B2 (en) * | 2008-01-18 | 2010-09-21 | Qimonda Ag | Integrated circuit having a memory cell arrangement and method for reading a memory cell state using a plurality of partial readings |
KR20130072084A (ko) * | 2011-12-21 | 2013-07-01 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치의 리드 방법 |
KR102083491B1 (ko) * | 2012-12-05 | 2020-03-02 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템 및 이의 동작 방법 |
US9697905B2 (en) * | 2013-05-31 | 2017-07-04 | Sandisk Technologies Llc | Updating read voltages using syndrome weight comparisons |
US9490023B2 (en) * | 2014-03-19 | 2016-11-08 | Apple Inc. | Mitigation of retention drift in charge-trap non-volatile memory |
-
2017
- 2017-01-19 TW TW106101855A patent/TWI615852B/zh active
- 2017-03-14 US US15/458,037 patent/US9773565B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757798B2 (en) * | 1997-06-30 | 2004-06-29 | Intel Corporation | Method and apparatus for arbitrating deferred read requests |
US20130080858A1 (en) * | 2011-09-28 | 2013-03-28 | Sang Hoon Lee | Method of reading data from a non-volatile memory and devices and systems to implement same |
CN104051016A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储装置、读取数据方法、存储系统及操作方法 |
US20140281770A1 (en) * | 2013-03-15 | 2014-09-18 | Kyung-Ryun Kim | Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system |
US9146850B2 (en) * | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
CN106250193A (zh) * | 2016-08-09 | 2016-12-21 | 上海盈方微电子有限公司 | 一种基于nand存储器的系统启动方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US9773565B1 (en) | 2017-09-26 |
TW201828293A (zh) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI615852B (zh) | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9891991B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TWI649754B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI592869B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI591635B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI614755B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
US10564862B2 (en) | Wear leveling method, memory control circuit unit and memory storage apparatus | |
US9892799B1 (en) | Read voltage tracking method, memory storage device and memory control circuit unit | |
CN107146638B (zh) | 译码方法、存储器储存装置及存储器控制电路单元 | |
CN107436820B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN111538687B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US10984870B2 (en) | Adjusting read voltage level in rewritable nonvolatile memory module | |
CN113140253B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US11467773B2 (en) | Data accessing method, memory control circuit unit and memory storage device | |
TWI751620B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN108428464B (zh) | 解码方法、存储器储存装置及存储器控制电路单元 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
CN111459704B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110400593B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
TWI705449B (zh) | 電壓識別方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TW202242663A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN115862722A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN116230062A (zh) | 电压预测方法、存储器存储装置及存储器控制电路单元 |