TWI446346B - 資料讀取方法、記憶體儲存裝置及其記憶體控制器 - Google Patents
資料讀取方法、記憶體儲存裝置及其記憶體控制器 Download PDFInfo
- Publication number
- TWI446346B TWI446346B TW100108514A TW100108514A TWI446346B TW I446346 B TWI446346 B TW I446346B TW 100108514 A TW100108514 A TW 100108514A TW 100108514 A TW100108514 A TW 100108514A TW I446346 B TWI446346 B TW I446346B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- group
- threshold voltage
- threshold
- error
- Prior art date
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種用於可複寫式非揮發性記憶體的資料讀取方法,且特別是有關於一種能夠重新調整門檻電壓以正確地讀取資料的方法及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對數位內容的儲存需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合使用者隨身攜帶作為數位檔案傳遞與交換的儲存媒體。固態硬碟(Solid State Drive,SSD)就是以快閃記憶體作為儲存媒體的一個例子,並且已廣泛使用於電腦主機系統中作為主硬碟。
目前的快閃記憶體主要分為兩種,分別為反或型快閃記憶體(NOR Flash)與反及型快閃記憶體(NAND Flash)。快閃記憶體亦可根據每一記憶胞可儲存的資料位元數而區分為多階記憶胞(Multi-Level Cell,MLC)快閃記憶體及單階記憶胞(Single-Level Cell,SLC)快閃記憶體。SLC快閃記憶體的每個記憶胞僅能儲存1個位元資料,而MLC快閃記憶體的每個記憶胞可儲存至少2個以上的位元資料。例如,以4層記憶胞快閃記憶體為例,每一記憶胞可儲存2個位元資料(即,"11"、"10"、"00"與"01")。
在快閃記憶體中,記憶胞會由位元線(Bit Line)與字元線(Word Line)來串起而形成一記憶胞陣列(memory cell array)。當控制位元線與字元線的控制電路在讀取或寫入資料到記憶胞陣列的指定記憶胞時,其他非指定之記憶胞的浮動電壓可能會受到干擾(disturb),進而造成錯誤位元(即,控制電路從記憶胞中所讀取之資料(亦稱為讀取資料)與原先所寫入之資料(亦稱為寫入資料不同)。或者,當快閃記憶體亦可能因長期閒置、記憶體漏電、或是多次抹除或寫入等因素而造成磨耗(Wear)情況時,記憶胞中的浮動電壓亦可能改變而造成錯誤位元。
一般來說,記憶體儲存裝置會配置錯誤校正電路。在寫入資料時,錯誤校正電路會為所寫入的資料產生錯誤校正碼,並且在讀取資料時,錯誤校正電路會依據對應的錯誤校正碼來為所讀取之資料進行錯誤校正解碼(亦稱為錯誤檢查與校正程序),由此更正錯誤位元。然而,錯誤校正電路所能夠校正的錯誤位元數是有限的,一旦所讀取之資料的錯誤位元的個數超過錯誤校正電路所能校正之錯誤位元的個數時,所讀取之資料將無法被校正。此時,主機系統將無法正確地從記憶體儲存裝置中讀取到正確的資料。由於製程之演進或記憶體本身之硬體架構的特性造成錯誤位元越來越多(如多階記憶胞快閃記憶體的每一記憶胞可儲存之位元數越多其可能產生之錯誤位元亦較SLC為多),因此,如何確保所讀取之資料的正確性,成為此領域技術人員所關注的議題。
本發明提供一種資料讀取方法、記憶體控制器與記憶體儲存裝置,其能夠正確地讀取資料。
本發明範例實施例提出一種資料讀取方法,用於可複寫式非揮發性記憶體模組,其中此可複寫式非揮發性記憶體模組具有多個實體頁面。本資料讀取方法包括將此些實體頁面分組為多個實體頁面群並且為此些實體頁面群之中的第一實體頁面群設定第一門檻電壓組,其中此第一門檻電壓組具有多個門檻電壓。本資料讀取方法也包括使用第一門檻電壓組從第一實體頁面中讀取第一資料,其中此第一實體頁面屬於第一實體頁面群。本資料讀取方法還包括,當第一資料可藉由錯誤校正電路來校正而產生已校正資料並且對應此第一資料的錯誤位元數非小於錯誤位元數門檻值時,計算對應此第一實體頁面群的門檻電壓的多個補償電壓。本資料讀取方法更包括使用此些補償電壓調整第一門檻電壓組的門檻電壓並且使用調整後的第一門檻電壓組從屬於第一實體頁面群的實體頁面中讀取資料。
在本發明之一實施例中,上述之資料讀取方法更包括:根據對應第一實體頁面群的抹除次數動態地調整上述錯誤位元數門檻值。
在本發明之一實施例中,上述之資料讀取方法更包括:在計算對應第一實體頁面群的門檻電壓的補償電壓之後,使用預設調整值調整上述錯誤位元數門檻值。
在本發明之一實施例中,上述之計算對應第一實體頁面群的門檻電壓的補償電壓的步驟包括:藉由比對上述第一資料與已校正資料來獲得一錯誤位元資訊以及依據此錯誤位元資訊來計算上述補償電壓。
在本發明之一實施例中,上述之第一實體頁面中是第一實體頁面群的實體頁面之中發生最多錯誤位元之實體頁面。
本發明範例實施例提出一種記憶體控制器,用於控制可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體頁面。本記憶體控制器包括記憶體管理電路、主機介面、記憶體介面與錯誤校正電路。記憶體管理電路用以將此些實體頁面分組為多個實體頁面群並且為每一實體頁面群設定一門檻電壓組,其中此些門檻電壓組之中的第一門檻電壓組對應此些實體頁面群之中的第一實體頁面群並且第一門檻電壓組具有多個門檻電壓。主機介面耦接記憶體管理電路。記憶體介面耦接記憶體管理電路,並且用以耦接至可複寫式非揮發性記憶體模組。錯誤校正電路耦接記憶體管理電路。補償電壓計算電路耦接至記憶體管理電路。在此,記憶體管理電路使用第一門檻電壓組從第一實體頁面中讀取第一資料,其中此第一實體頁面屬於第一實體頁面群。此外,當錯誤校正電路成功地校正第一資料而產生已校正資料並且對應第一資料的錯誤位元數非小於錯誤位元數門檻值時,上述補償電壓計算電路會計算對應第一實體頁面群的門檻電壓的多個補償電壓。
在本發明之一實施例中,上述之記憶體管理電路使用此些補償電壓調整第一門檻電壓組的門檻電壓並且使用調整後的第一門檻電壓組從屬於第一實體頁面群的實體頁面中讀取資料。
在本發明之一實施例中,上述之記憶體管理電路根據對應第一實體頁面群的抹除次數動態地調整上述錯誤位元數門檻值。
在本發明之一實施例中,在補償電壓計算電路計算對應第一實體頁面群的門檻電壓的補償電壓之後,上述記憶體管理電路使用預設調整值調整上述錯誤位元數門檻值。
在本發明之一實施例中,上述之補償電壓計算電路藉由比對上述第一資料與已校正資料來獲得錯誤位元資訊並且依據此錯誤位元資訊來計算上述補償電壓。
本發明範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體頁面。記憶體控制器耦接至連接器與可複寫式非揮發性記憶體模組並且具有錯誤校正電路。在此,記憶體控制器用以將此些實體頁面分組為多個實體頁面群並為每一實體頁面群設定一門檻電壓組,其中此些門檻電壓組之中的第一門檻電壓組對應此些實體頁面群之中的第一實體頁面群並且第一門檻電壓組具有多個門檻電壓。此外,記憶體控制器使用第一門檻電壓組從第一實體頁面中讀取第一資料,其中第一實體頁面屬於第一實體頁面群。再者,當錯誤校正電路成功地校正第一資料而產生已校正資料並且對應第一資料的錯誤位元數非小於錯誤位元數門檻值時,上述記憶體控制器計算對應第一實體頁面群的門檻電壓的多個補償電壓。
在本發明之一實施例中,上述之記憶體控制器使用上述補償電壓調整第一門檻電壓組的門檻電壓並且使用調整後的第一門檻電壓組從屬於第一實體頁面群的實體頁面中讀取資料。
在本發明之一實施例中,上述之記憶體控制器根據對應第一實體頁面群的抹除次數動態地調整上述錯誤位元數門檻值。
在本發明之一實施例中,上述之記憶體控制器在計算對應第一實體頁面群的門檻電壓的補償電壓之後,使用預設調整值調整上述錯誤位元數門檻值。
在本發明之一實施例中,上述之記憶體控制器藉由比對上述第一資料與已校正資料來獲得錯誤位元資訊並且依據此誤位元資訊來計算上述補償電壓。
本發明範例實施例提出一種資料讀取方法,用於從可複寫式非揮發性記憶體模組的第一實體頁面讀取資料,其中可複寫式非揮發性記憶體模組具有多個實體頁面,此些實體頁面被分組為多個實體頁面群,第一實體頁面屬於此些實體頁面群之中的第一實體頁面群,第一實體頁面群對應第一門檻電壓組與第一門檻電壓旗標,第一門檻電壓組包括多個門檻電壓,並且第一門檻電壓旗標初始地被標記為除能狀態。本資料讀取方法包括:判斷第一門檻電壓旗標是否被標記為致能狀態。本資料讀取方法也包括:倘若第一門檻電壓旗標非被標記為致能狀態時,使用第一門檻電壓組從第一實體頁面中讀取第一資料並且判斷從第一實體頁面中所讀取的第一資料是否可藉由錯誤校正電路來校正而產生已校正資料。本資料讀取方法亦包括:倘若第一資料可藉由錯誤校正電路來校正而產生已校正資料時,判斷對應第一資料的錯誤位元數是否小於錯誤位元數門檻值。本資料讀取方法更包括:倘若對應第一資料的錯誤位元數非小於錯誤位元數門檻值時,計算對應第一實體頁面群的門檻電壓的多個補償電壓並且將第一門檻電壓旗標標記為致能狀態。
在本發明之一實施例中,上述之資料讀取方法更包括:倘若第一門檻電壓旗標被標記為致能狀態時,使用補償電壓來調整第一門檻電壓組的門檻電壓並且使用調整後的第一門檻電壓組從第一實體頁面中讀取第二資料。
在本發明之一實施例中,上述之資料讀取方法更包括:根據對應第一實體頁面群的抹除次數動態地調整錯誤位元數門檻值。
在本發明之一實施例中,上述之資料讀取方法更包括:在計算對應第一實體頁面群的門檻電壓的補償電壓之後,使用預設調整值調整錯誤位元數門檻值。
在本發明之一實施例中,上述之計算對應第一實體頁面群的門檻電壓的補償電壓的步驟包括:藉由比對上述第一資料與已校正資料來獲得錯誤位元資訊以及依據此錯誤位元資訊來計算上述補償電壓。
在本發明之一實施例中,上述之第一資料具有多個位元,每一位元對應可複寫式非揮發性記憶體模組的多個儲存狀態的其中之一,此些儲存狀態包括第一儲存狀態與第二儲存狀態並且此些門檻電壓之中的第一門檻電壓用以區分第一儲存狀態與二儲存狀態。上述藉由比對上述第一資料與已校正資料來獲得錯誤位元資訊的步驟包括:找出第一資料的位元之中與已校正資料的對應位元不相同的多個錯誤位元;統計此些錯誤位元之中屬於第一錯誤位元型態的錯誤位元的數目;統計此些錯誤位元之中屬於第二錯誤位元型態的錯誤位元的數目;將屬於第一錯誤位元型態的錯誤位元的數目與屬於第二錯誤位元型態的錯誤位元的數目作為上述錯誤位元資訊,其中屬於第一錯誤位元型態的錯誤位元是應對應第一儲存狀態但被辨識為對應第二儲存狀態的位元並且屬於第二錯誤位元型態的錯誤位元是應對應第二儲存狀態但被辨識為對應第一儲存狀態的位元。此外,上述依據錯誤位元資訊計算上述補償電壓的步驟包括:依據屬於第一錯誤位元型態的錯誤位元的數目與屬於第二錯誤位元型態的錯誤位元的數目來計算上述補償電壓之中的第一補償電壓,其中第一補償電壓用以調整此些門檻電壓之中的第一門檻電壓。
基於上述,本發明範例實施例的資料讀取方法、記憶體控制器與記憶體儲存裝置能夠更正確地讀取資料。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本發明範例實施例中,可複寫式非揮發性記憶體模組的實體頁面可被分組為多個實體頁面群,並且每一實體頁面群會配置有對應的門檻電壓組。並且,實體頁面群的實體頁面中的資料會使用對應的門檻電壓組來讀取。特別是,當所讀取之資料可被成功地校正並且發生在所讀取之資料中的錯誤位元的數目非小於”錯誤位元數門檻值”時,對應此門檻電壓組的多個補償電壓會根據此些錯誤位元中的資訊(亦稱為錯誤位元資訊)被計算。並且,在下一次對此些實體頁面進行讀取運作時,此門檻電壓組會藉由所計算之補償電壓來被調整並且調整後的門檻電壓組會被使用來讀取資料。由於用於讀取運作的門檻電壓組會根據實體頁面(或記憶胞)的磨耗程度而動態地調整,因此,使得所讀取之資料的正確性更能被保證。以下將以一範例實施例,來說明本發明。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000可實質地為可與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000亦可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據本發明範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。
可複寫式非揮發性記憶體模組106包括記憶胞陣列202、字元線控制電路204、位元線控制電路206、行解碼器(column decoder)208、資料輸入/輸出緩衝器210與控制電路212。
記憶胞陣列202包括用以儲存資料的多個記憶胞(圖未示)、連接此些記憶胞的多條位元線(圖未示)、多條字元線與共用源極線(圖未示)。記憶胞是以陣列方式配置在位元線與字元線的交叉點上。當從記憶體控制器130接收到寫入指令或讀取資料時,控制電路212會控制字元線控制電路204、位元線控制電路206、行解碼器208、資料輸入/輸出緩衝器210來寫入資料至記憶體陣列202或從記憶體陣列202中讀取資料,其中字元線控制電路204用以控制施予至字元線的字元線電壓,位元線控制電路206用以控制位元線,行解碼器208依據指令中的解碼列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器210用以暫存資料。
在本範例實施例中,可複寫式非揮發性記憶體模組106為MLC NAND型快閃記憶體模組,其使用多種浮動電壓來代表多位元(bits)的資料。具體來說,記憶胞陣列202的每一記憶胞具有多個儲存狀態,並且此些儲存狀態是以多個門檻電壓來區分。
圖4是根據本發明範例實施例所繪示儲存於記憶胞陣列中的寫入資料所對應的浮動電壓的統計分配圖。
請參照圖4,以4階記憶胞NAND型快閃記憶體為例,每一記憶胞中的浮動電壓可依據第一門檻電壓VA、第二門檻電壓VB與第三門檻電壓VC而區分為4種儲存狀態,並且此些儲存狀態分別地代表"11"、"10"、"00"與"01"。換言之,每一個儲存狀態包括最低有效位元(Least Significant Bit,LSB)以及最高有效位元(Most Significant Bit,MSB)。在本範例實施例中,儲存狀態(即,"11"、"10"、"00"與"01")中從左側算起之第1個位元的值為LSB,而從左側算起之第2個位元的值為MSB。因此,在第一範例實施例中,每一記憶胞可儲存2個位元資料。必須瞭解的是,圖3所繪示的浮動電壓及其儲存狀態的對應僅為一個範例。在本發明另一範例實施例中,浮動電壓與儲存狀態的對應亦可是隨著浮動電壓越大而以"11"、"10"、"01"與"00"排列。或者,浮動電壓所對應之儲存狀態亦可為對實際儲存值進行映射或反相後之值,此外,在另一範例時實例中,亦可定義從左側算起之第1個位元的值為MSB,而從左側算起之第2個位元的值為LSB。
在本範例實施例中,每一記憶胞可儲存2個位元資料,因此同一條字元線上的記憶胞會構成2個實體頁面(即,下實體頁面與上實體頁面)的儲存空間。也就是說,每一記憶胞的LSB是對應下實體頁面,並且每一記憶胞的MSB是對應上實體頁面。此外,在記憶胞陣列202中數個實體頁面會構成一個實體區塊,並且實體區塊為執行抹除運作的最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。
記憶胞陣列202之記憶胞的資料寫入是利用注入電壓來改變記憶胞的浮動電壓,以呈現不同的儲存狀態。例如,當下頁面資料為1且上頁面資料為1時,控制電路212會控制字元線控制電路204不改變記憶胞中的浮動電壓,而將記憶胞的儲存狀態保持為"11"。當下頁面資料為1且上頁面資料為0時,字元線控制電路204會在控制電路212的控制下改變記憶胞中的浮動電壓,而將記憶胞的儲存狀態改變為"10"。當下頁面資料為0且上頁面資料為0時,字元線控制電路204會在控制電路212的控制下改變記憶胞中的浮動電壓,而將記憶胞的儲存狀態改變為"00"。並且,當下頁面資料為0且上頁面資料為1時,字元線控制電路204會在控制電路212的控制下改變記憶胞中的浮動電壓,而將記憶胞的儲存狀態改變為"01"圖5是根據本發明範例實施例所繪示的針對其中一個記憶胞的讀取運作示意圖。
請參照圖5,記憶胞陣列202之記憶胞的資料讀取是使用門檻電壓來區分記憶胞的浮動電壓。在讀取下頁資料的運作中,字元線控制電路204會施予第二門檻電壓VB至記憶胞並且藉由記憶胞的控制閘(control gate)是否導通和對應的運算式(1)來判斷下頁資料的值:
LSB=(VB)Lower_pre1 (1)
其中(VB)Lower_pre1表示透過施予第二門檻電壓VB而獲得的第1下頁驗證值。
例如,當第二門檻電壓VB小於記憶胞的浮動電壓時,記憶胞的控制閘(control gate)不會導通並輸出值'0'的第1下頁驗證值,由此LSB會被識別為0。例如,當第二門檻電壓VB大於記憶胞的浮動電壓時,記憶胞的控制閘會導通並輸出值'1'的第1下頁驗證值,由此此LSB會被識別為1。也就是說,用以呈現LSB為1的浮動電壓與用以呈現LSB為0的浮動電壓可透過第二門檻電壓VB而被區分。
在讀取上頁資料的運作中,字元線控制電路204會分別地施予第三門檻電壓VC與第一門檻電壓VA至記憶胞並且藉由記憶胞的控制閘是否導通和對應的運算式(2)來判斷上頁資料的值:
MSB=((VA)Upper_pre2) xor(~(VC)Upper_pre1)(2)
其中(VC)Upper_pre1表示透過施予第三門檻電壓VC而獲得的第1上頁驗證值,並且(VA)Upper_pre2表示透過施予第一門檻電壓VA而獲得的第2上頁驗證值,其中符號”~”代表反相。此外,在本範例實施例中,當第三門檻電壓VC小於記憶胞的浮動電壓時,記憶胞的控制閘不會導通並輸出值'0'的第1上頁驗證值((VC)Upper_pre1),當第一門檻電壓VA小於記憶胞的浮動電壓時,記憶胞的控制閘不會導通並輸出值'0'的第2上頁驗證值((VA)Upper_pre2)。
因此,在本範例實施例中,依照運算式(2),當第三門檻電壓VC與第一門檻電壓VA皆小於記憶胞的浮動電壓時,在施予第三門檻電壓VC下記憶胞的控制閘不會導通並輸出值'0'的第1上頁驗證值並且在施予第一門檻電壓VA下記憶胞的控制閘不會導通並輸出值'0'的第2上頁驗證值。此時,MSB會被識別為1。
例如,當第三門檻電壓VC大於記憶胞的浮動電壓且第一門檻電壓VA小於記憶胞的浮動電壓小於記憶胞的浮動電壓時,在施予第三門檻電壓VC下記憶胞的控制閘會導通並輸出值'1'的第1上頁驗證值,並且在施予第一門檻電壓VA下記憶胞的控制閘不會導通並輸出值'0'的第2上頁驗證值。此時,MSB會被識別為0。
例如,當第三門檻電壓VC與第一門檻電壓VA皆大於記憶胞的浮動電壓時,在施予第三門檻電壓VC下,記憶胞的控制閘會導通並輸出值'1'的第1上頁驗證值,並且在施予第一門檻電壓VA下記憶胞的控制閘會導通並輸出值'1'的第2上頁驗證值。此時,MSB會被識別為1。
必須瞭解的是,儘管本發明是以4階記憶胞NAND型快閃記憶體來作說明。然而,本發明不限於此,其他多層記憶胞NAND型快閃記憶體亦可依據上述原理進行資料的讀取。
例如,以8階記憶胞NAND型快閃記憶體為例(如圖6所示),每一個儲存狀態包括左側算起之第1個位元的最低有效位元LSB、從左側算起之第2個位元的中間有效位元(Center Significant Bit,CSB)以及從左側算起之第3個位元的最高有效位元MSB,其中LSB對應下頁面,CSB對應中頁面,MSB對應上頁面。在此範例中,每一記憶胞中的浮動電壓可依據第一門檻電壓VA、第二門檻電壓VB、第三門檻電壓VC、第四門檻電壓VD、第五門檻電壓VE、第六門檻電壓VF與第七門檻電壓VG而區分為8種儲存狀態(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"與"011")。
圖7是根據本發明範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖7,記憶體控制器104包括記憶體管理電路702、主機介面704、記憶體介面706、錯誤校正電路708與補償電壓計算電路710。
記憶體管理電路702用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路702具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以根據主機系統1000的指令於可複寫式非揮發性記憶體模組106中讀取、寫入或抹除資料。
在本範例實施例中,記憶體管理電路702的控制指令是以韌體型式來實作。例如,記憶體管理電路702具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行。
在本發明另一範例實施例中,記憶體管理電路702的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,可複寫式非揮發性記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路702具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼段,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路702的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以執行資料的讀取、寫入與抹除。此外,在本發明另一範例實施例中,記憶體管理電路702的控制指令亦可以一硬體型式來實作。
主機介面704是耦接至記憶體管理電路702並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面704來傳送至記憶體管理電路702。在本範例實施例中,主機介面704是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面704亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面706是耦接至記憶體管理電路702並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面706轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
錯誤校正電路708是耦接至記憶體管理電路702並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路702從主機系統1000中接收到寫入指令時,錯誤校正電路708會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路702會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路702從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤校正電路708會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
補償電壓計算電路710是耦接至記憶體管理電路702並且用以計算根據所讀取之資料中的錯誤位元資訊來計算補償電壓。特別是,記憶體管理電路702會根據補償電壓計算電路710所計算的補償電壓來調整讀取資料時所使用之門檻電壓組。計算補償電壓與調整門檻電壓組的方法將配合圖式,詳細描述如后。
在本發明一範例實施例中,記憶體控制器104還包括緩衝記憶體752。緩衝記憶體752是耦接至記憶體管理電路702並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
在本發明一範例實施例中,記憶體控制器104還包括電源管理電路754。電源管理電路754是耦接至記憶體管理電路702並且用以控制記憶體儲存裝置100的電源。
圖8是根據本發明範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。
請參照圖8,記憶體管理電路702會將可複寫式非揮發性記憶體模組106的實體頁面分組成實體頁面群400(0)~400(N)。在本範例實施例中,記憶體管理電路702是將屬於同一個實體區塊的實體頁面分組成一個實體頁面群。也就是說,在本範例實施中,一個實體頁面群內的實體頁面正好為一個實體區塊的實體頁面。然而,本發明不限於此,在本發明另一範例實施例中,記憶體管理電路702亦可將屬於同一個區塊面(plane)的實體頁面分組成一個實體頁面群或者將每一個實體頁面視為單一實體頁面群。
在本範例實施例中,記憶體管理電路702會為每一實體頁面群配置獨立的門檻電壓組。例如,在可複寫式非揮性記憶體模組106為4階記憶胞NAND型記憶體模組的例子中,每一門檻電壓組包括第一門檻電壓VA、第二門檻電壓VB與第三門檻電壓VC。並且,記憶體管理電路702會採用對應的門檻電壓組來讀取儲存於對應的實體頁面群的實體頁面中的資料。
例如,記憶體管理電路702會建立讀取電壓表以記錄對應每一實體頁面群的門檻電壓組。並且,每當欲從實體頁面中讀取資料時,記憶體管理電路702會從讀取電壓表中識別對應的門檻電壓組並且使用所識別的門檻電壓組來讀取資料。
例如,當欲從屬於實體頁面群400(0)的實體頁面中讀取資料時,記憶體管理電路702會採用對應實體頁面群400(0)的第一門檻電壓VA、第二門檻電壓VB與第三門檻電壓VC來讀取資料。而當欲從屬於實體頁面群400(N)的實體頁面中讀取資料時,記憶體管理電路702會採用對應實體頁面群400(N)的第一門檻電壓VA、第二門檻電壓VB與第三門檻電壓VC來讀取資料。
特別是,在本範例實施例中,當錯誤校正電路708成功地校正記憶體管理電路702從一實體頁面中所讀取的資料並且發生在所讀取之資料上的錯誤位元的數目非小於錯誤位元數門檻值時,補償電壓計算電路710會根據此些錯誤位元中的錯誤位元資訊計算對應門檻電壓組之每一門檻電壓的補償電壓。並且,之後,當欲從此實體頁面所屬之實體頁面群中讀取資料時,記憶體管理電路702會使用此些補償電壓來調整對應之門檻電壓組的門檻電壓並且使用調整後之門檻電壓組來讀取資料。
例如,倘若記憶體管理電路702欲從屬於第一實體頁面群(例如,實體頁面群400(0))的第一實體頁面讀取資料時,記憶體管理電路702會採用對應實體頁面群400(0)的門檻電壓組(以下稱為第一門檻電壓組)來從第一實體頁面中讀取未校正資料(以下稱為第一資料)。例如,倘若第一實體頁面為下頁面時,記憶體管理電路702會採用對應實體頁面群400(0)的第二門檻電壓VB來識別此實體頁面中每一位元的值。例如,倘若第一實體頁面為上頁面時,記憶體管理電路702會採用對應實體頁面群400(0)的第一門檻電壓VA與第三門檻電壓VC來識別此實體頁面中每一位元的值。
在完成資料的讀取後,錯誤校正電路708會依據對應所讀取之第一資料的錯誤檢查與校正碼來進行錯誤檢查與校正程序,並且記憶體管理電路702會判斷第一資料是否可被校正而產生已校正資料。
倘若錯誤校正電路708成功地校正第一資料而產生已校正資料時,記憶體管理電路702會根據已校正資料判斷發生在第一資料中的錯誤位元的數目是否小於錯誤位元數門檻值。倘若發生在第一資料中的錯誤位元的數目非小於錯誤位元數門檻值時,記憶體管理電路702會指示補償電壓計算電路710根據此些錯誤位元中的錯誤位元資訊計算對應第一門檻電壓組的每一門檻電壓的補償電壓。之後,當欲從屬於實體頁面群400(0)的任何實體頁面中讀取資料時,記憶體管理電路702會使用經過補償電壓調整後之第一門檻電壓組來讀取資料。
倘若所讀取的未校正資料無法被校正時,記憶體管理電路702會使用重新讀取(Retry-Read)機制,重新從第一實體頁面中讀取資料。例如,在重新讀取(Retry-Read)機制中,記憶體管理電路702會使用不同之門檻電壓組來嘗試從第一實體頁面中正確地讀取資料。例如,記憶體管理電路702會依序地使用一表上的電壓來調整門檻電壓,或對此次設定的門檻電壓增加或減少一預設值的方式來調整。倘若經過多次(例如,5次)重新讀取仍無法正確地資料時,記憶體管理電路702會輸出讀取失敗訊息。重新讀取(Retry-Read)機制為此領域技術人員所熟知之技術,在此不詳細描述。
在本發明範例實施例中,補償電壓計算電路710會依序地比對所讀取之未校正資料與對應之已校正資料的每一位元並且識別其中的錯誤位元。在此所謂錯誤位元是指一個應為某一狀態的位元並誤判為屬於另一狀態。並且,補償電壓計算電路710會統計此些錯誤位元的錯誤位元類型作為錯誤位元資訊並且依據錯誤位元資訊來產生補償電壓。
圖9是根據本發明範例實施例所繪示之統計錯誤位元的錯誤類型的示意圖。
請參照圖9,以4階記憶胞NAND型快閃記憶體為例,第一位元資訊讀取電壓VA是用以區別儲存狀態"11"與儲存狀態"10",第二門檻電壓VB是用以區別儲存狀態"10"與儲存狀態"00"並且第三門檻電壓VC是用以區別儲存狀態"00"與儲存狀態"01"。在此,門檻電壓左邊的狀態稱為第一儲存狀態,而門檻電壓右邊的狀態稱為第二儲存狀態。
特別是,補償電壓計算電路710會為每一門檻電壓,統計應為第一儲存狀態而被誤判為第二儲存狀態的記憶胞位(即,第一錯誤位元類型)的數目,並且統計應為第二儲存狀態而被誤判為第一儲存狀態的記憶胞(即,第二錯誤位元類型)的數目。
如圖9所示,區塊1002表示應為儲存狀態"10"而被誤判為儲存狀態"11"的記憶胞,區塊1004表示應為儲存狀態"11"而被誤判為儲存狀態"10"的記憶胞。特別是,補償電壓計算電路710會根據所識別的錯誤位元之中對應區塊1002的錯誤位元的數目以及對應區塊1004的錯誤位元的數目來產生對應第一門檻電壓VA的補償電壓。
例如,補償電壓計算電路710是使用以下算式(3)來計算補償電壓:
其中x代表補償電壓,g代表常數,error2代表應為第二儲存狀態而被誤判為第一儲存狀態的記憶胞的數目,error1代表應為第一儲存狀態而被誤判為第二儲存狀態的記憶胞位的數目。
類似地,補償電壓計算電路710會根據所識別的錯誤位元之中對應區塊1006的錯誤位元的數目以及對應區塊1008的錯誤位元的數目來產生對應第二門檻電壓VB的補償電壓。
同樣的,補償電壓計算電路710會根據所識別的錯誤位元之中對應區塊1010的錯誤位元的數目以及對應區塊1012的錯誤位元的數目來產生對應第三門檻電壓VC的補償電壓。
基於上述,例如,當從實體頁面群400(0)的一個實體頁面中所讀取之資料的錯誤位元的數目非小於錯誤位元數門檻值時,記憶體管理電路702會指示補償電壓計算電路710根據上述式(3)計算對應實體頁面群400(0)的門檻電壓組的每一門檻電壓的補償電壓。並且,之後,當從實體頁面群400(0)的實體頁面中讀取資料時,記憶體管理電路202會將第一門檻電壓加上所計算的補償電壓而成為新的第一門檻電壓VA,將第二門檻電壓VB加上所計算的補償電壓而成為新的第二門檻電壓VB並且將第三門檻電壓VC加上所計算的補償電壓而成為新的第三門檻電壓VC。
圖10是根據本發明範例實施例所繪示之資料讀取方法的概要流程圖。
請參照圖10,在步驟S1001中,實體頁面會被分組為多個實體頁面群,並且每一實體頁面群會被設定一門檻電壓組。例如,第一門檻電壓組是設定給實體頁面群之中的第一實體頁面群。值得一提的是,在初始化時,所有實體頁面群的門檻電壓組可為相同或者不同。
在步驟S1003中,第一門檻電壓組會被用來從第一實體頁面中讀取第一資料,其中第一實體頁面屬於第一實體頁面群。並且,在步驟1005中,第一資料是否可藉由錯誤校正電路708來校正而產生已校正資料並且對應第一資料的錯誤位元數是否非小於錯誤位元數門檻值會被判斷。
倘若第一資料可藉由錯誤校正電路708來校正而產生已校正資料並且對應第一資料的錯誤位元數非小於錯誤位元數門檻值時,在步驟S1007中,對應第一實體頁面群的門檻電壓的多個補償電壓會被計算並且此些補償電壓會被用來調整第一門檻電壓組的門檻電壓。之後,在步驟S1009中,調整後的第一門檻電壓組會被用來從屬於第一實體頁面群的實體頁面中讀取資料(亦稱為第二資料)。
為了能夠更瞭解本發明範例實施例的資料讀取方法,以下將以從一個實體頁面讀取資料為例,詳細描述本讀取資料方法的步驟。
圖11是根據本發明範例實施例所繪示之資料讀取方法的詳細流程圖,其繪示從一個實體頁面中讀取資料的步驟。為方便描述,以下將欲讀取之實體頁面稱為第一實體頁面,此第一實體頁面所屬之實體頁面群稱為第一實體頁面群,對應此第一實體頁面的門檻電壓組稱為第一門檻電壓組。
請參照圖11,在步驟S1101中,記憶體管理電路702會判斷第一門檻電壓旗標是否被標記為致能(Enable)狀態。具體來說,記憶體管理電路702會為每一實體頁面群記錄一個門檻電壓旗標並且每一門檻電壓旗標會顯示致能狀態或除能(Disable)狀態,其中每一門檻電壓被初始地標記為除能(Disable)狀態。
倘若第一門檻電壓旗標非被標記為致能狀態時,在步驟S1103,記憶體管理電路702會使用初始設定之第一門檻電壓組來從第一實體頁面中讀取未校正資料。
之後,在步驟S1105中,記憶體管理電路702會判斷錯誤校正電路708是否成功地校正所讀取之未校正資料以輸出已校正資料。
倘若錯誤校正電路708未成功地校正未校正資料以輸出已校正資料時,在步驟S1107中,記憶體管理電路702會判斷對應第一實體頁面的重新讀取次數是否超過重新讀取門檻值。例如,重新讀取門檻值是被設定為5。
倘若對應第一實體頁面的重新讀取次數超過重新讀取門檻值時,在步驟S1009中,記憶體管理電路702會輸出讀取錯誤訊息,以通知主機系統1000。
倘若對應第一實體頁面的重新讀取次數未超過重新讀取門檻值時,在步驟S1111中,記憶體管理電路702會執行重新讀取機制來再次從第一實體頁面中讀取未校正資料,並且步驟S1105會被執行。
倘若錯誤校正電路708未成功地校正未校正資料以輸出已校正資料時,在步驟S1113中,記憶體管理電路702會判斷未校正資料中的錯誤位元的數目是否小於錯誤位元數門檻值。
倘若未校正資料中的錯誤位元的數目小於錯誤位元數門檻值時,在步驟S1115中,記憶體管理電路702會輸出已校正資料。
倘若未校正資料中的錯誤位元的數目非小於錯誤位元數門檻值時,在步驟S1117中,記憶體管理電路702會指示補償電壓計算電路710根據錯誤位元資訊計算補償電壓,並且將第一門檻電壓旗標標記為致能狀態。在步驟S1119中,記憶體管理電路702會調整錯誤位元數門檻值。具體來說,在本範例實施例中,錯誤位元數門檻值會根據各實體頁面群的狀態被動態地被調整。例如,每當記憶體管理電路702指示補償電壓計算電路710為某一實體頁面群計算補償電壓時,對應此實體頁面群的錯誤位元數門檻值會被加上一個預設調整值。例如,此預設調整值為5,但本發明不限於此。之後,步驟S1115會被執行。
此外,在本發明另一範例實施例中,記憶體管理電路702會根據各實體頁面群的抹除次數(erase count)來調整錯誤位元數門檻值。例如,當某一個實體頁面群的抹除次數為不大於1000時,對應此實體頁面群的錯誤位元數門檻值會被設為20;當某一個實體頁面群的抹除次數為介於1000與2000之間時,對應此實體頁面群的錯誤位元數門檻值會被設為30;當某一個實體頁面群的抹除次數為介於2000與3000之間時,對應此實體頁面群的錯誤位元數門檻值會被設為40。以此類推,錯誤位元數門檻值會隨著抹除次數的增加而增加。
倘若在步驟S1101中判斷第一門檻電壓旗標非被標記為致能狀態時,在步驟S1121中,記憶體管理電路702會使用補償電壓計算電路710所計算之補償電壓來調整第一門檻電壓組的門檻電壓並且使用調整後的門檻電壓來從第一實體頁面中讀取未校正資料。
綜上所述,本發明範例實施例,用於各實體頁面群的門檻電壓組會根據的磨耗程度而動態地調整,因此,使得所讀取之資料的正確性更能被保證。此外,在本範例實施例中,對應的補償電壓是在當從實體頁面中所讀取之資料的錯誤位元數非小於錯誤位元數門檻值才會被計算並且錯誤位元數門檻值會動態地被調整。基此,在本範例實施例中,用於調整一個實體頁面群之門檻電壓組的補償電壓可是根據此實體頁面群之中發生最多錯誤位元之實體頁面的狀態來計算,由此調整後的門檻電壓組更能正確地來讀取資料。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
202...記憶胞陣列
204...字元線控制電路
206...位元線控制電路
208...行解碼器
210...資料輸入/輸出緩衝器
212...控制電路
VA...第一門檻電壓
VB...第二門檻電壓
VC...第三門檻電壓
VD...第四門檻電壓
VE...第五門檻電壓
VF...第六門檻電壓
VG...第七門檻電壓
702...記憶體管理電路
704...主機介面
706...記憶體介面
708...錯誤校正電路
710...補償電壓計算電路
752...緩衝記憶體
754...電源管理電路
410(0)~410(N)...實體頁面群
1002、1004、1006、1008、1010、1012...區塊
S1001、S1003、S1005、S1007、S1009...資料讀取方法的概要步驟
S1101、S1103、S1105、S1107、S1109、S1111、S1113、S1115、S1117、S1119、S1121...詳細資料讀取步驟
圖1A是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據本發明範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。
圖4是根據本發明範例實施例所繪示儲存於記憶胞陣列中的寫入資料所對應的浮動電壓的統計分配圖。
圖5是根據本發明範例實施例所繪示的針對其中一個記憶胞的讀取運作示意圖。
圖6是根據本發明另一範例實施例所繪示之8層記憶胞的讀取運作示意圖。
圖7是根據本發明範例實施例所繪示之記憶體控制器的概要方塊圖。
圖8是根據本發明範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。
圖9是根據本發明範例實施例所繪示之統計錯誤位元的錯誤類型的示意圖。
圖10是根據本發明範例實施例所繪示之資料讀取方法的概要流程圖。
圖11是根據本發明範例實施例所繪示之資料讀取方法的詳細流程圖。
S1101、S1103、S1105、S1107、S1109、S1111、S1113、S1115、S1117、S1119、S1121...詳細資料讀取步驟
Claims (24)
- 一種資料讀取方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體頁面,該資料讀取方法包括:將該些實體頁面分組為多個實體頁面群;為該些實體頁面群之中的一第一實體頁面群設定一第一門檻電壓組,其中該第一門檻電壓組具有多個門檻電壓;使用該第一門檻電壓組從一第一實體頁面中讀取一第一資料,其中該第一實體頁面屬於該第一實體頁面群;當該第一資料可藉由一錯誤校正電路來校正而產生一已校正資料並且對應該第一資料的一錯誤位元數非小於一錯誤位元數門檻值時,計算對應該第一實體頁面群的該些門檻電壓的多個補償電壓;使用該些補償電壓調整該第一門檻電壓組的該些門檻電壓;以及使用調整後的該第一門檻電壓組從屬於該第一實體頁面群的該些實體頁面中讀取資料。
- 如申請專利範圍第1項所述之資料讀取方法,更包括:根據對應該第一實體頁面群的一抹除次數動態地調整該錯誤位元數門檻值。
- 如申請專利範圍第1項所述之資料讀取方法,更包括:在計算對應該第一實體頁面群的該些門檻電壓的該些補償電壓之後,使用一預設調整值調整該錯誤位元數門檻值。
- 如申請專利範圍第1項所述之資料讀取方法,其中計算對應該第一實體頁面群的該些門檻電壓的該些補償電壓的步驟包括:藉由比對該第一資料與該已校正資料來獲得一錯誤位元資訊;以及依據該錯誤位元資訊來計算該些補償電壓。
- 如申請專利範圍第1項所述之資料讀取方法,其中該第一實體頁面中是該第一實體頁面群的該些實體頁面之中發生最多錯誤位元之實體頁面。
- 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體頁面,該記憶體控制器包括:一記憶體管理電路,用以將該些實體頁面分組為多個實體頁面群並且為每一該些實體頁面群設定一門檻電壓組,其中該些門檻電壓組之中的一第一門檻電壓組對應該些實體頁面群之中的一第一實體頁面群並且該第一門檻電壓組具有多個門檻電壓;一主機介面,耦接該記憶體管理電路;一記憶體介面,耦接該記憶體管理電路,並且用以耦接至該可複寫式非揮發性記憶體模組;一錯誤校正電路,耦接該記憶體管理電路;以及一補償電壓計算電路,耦接至該記憶體管理電路,其中該記憶體管理電路使用該第一門檻電壓組從一第一實體頁面中讀取一第一資料,其中該第一實體頁面屬於該第一實體頁面群,其中當該錯誤校正電路成功地校正該第一資料而產生一已校正資料並且對應該第一資料的一錯誤位元數非小於一錯誤位元數門檻值時,該補償電壓計算電路會計算對應該第一實體頁面群的該些門檻電壓的多個補償電壓。
- 如申請專利範圍第6項所述之記憶體控制器,其中該記憶體管理電路使用該些補償電壓調整該第一門檻電壓組的該些門檻電壓並且使用調整後的該第一門檻電壓組從屬於該第一實體頁面群的該些實體頁面中讀取資料。
- 如申請專利範圍第6項所述之記憶體控制器,其中該記憶體管理電路根據對應該第一實體頁面群的一抹除次數動態地調整該錯誤位元數門檻值。
- 如申請專利範圍第6項所述之記憶體控制器,其中在該補償電壓計算電路計算對應該第一實體頁面群的該些門檻電壓的該些補償電壓之後,該記憶體管理電路使用一預設調整值調整該錯誤位元數門檻值。
- 如申請專利範圍第6項所述之記憶體控制器,其中該補償電壓計算電路藉由比對該第一資料與該已校正資料來獲得一錯誤位元資訊並且依據該錯誤位元資訊來計算該些補償電壓。
- 如申請專利範圍第6項所述之記憶體控制器,其中該第一實體頁面中是該第一實體頁面群的該些實體頁面之中發生最多錯誤位元之實體頁面。
- 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體頁面;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組並且具有一錯誤校正電路,其中該記憶體控制器用以將該些實體頁面分組為多個實體頁面群並為每一該些實體頁面群設定一門檻電壓組,其中該些門檻電壓組之中的一第一門檻電壓組對應該些實體頁面群之中的一第一實體頁面群並且該第一門檻電壓組具有多個門檻電壓,其中該記憶體控制器使用該第一門檻電壓組從一第一實體頁面中讀取一第一資料,其中該第一實體頁面屬於該第一實體頁面群,其中當該錯誤校正電路成功地校正該第一資料而產生一已校正資料並且對應該第一資料的一錯誤位元數非小於一錯誤位元數門檻值時,該記憶體控制器計算對應該第一實體頁面群的該些門檻電壓的多個補償電壓。
- 如申請專利範圍第12項所述之記憶體儲存裝置,其中該記憶體控制器使用該些補償電壓調整該第一門檻電壓組的該些門檻電壓並且使用調整後的該第一門檻電壓組從屬於該第一實體頁面群的該些實體頁面中讀取資料。
- 如申請專利範圍第12項所述之記憶體儲存裝置,其中該記憶體控制器根據對應該第一實體頁面群的一抹除次數動態地調整該錯誤位元數門檻值。
- 如申請專利範圍第12項所述之記憶體儲存裝置,其中該記憶體控制器在計算對應該第一實體頁面群的該些門檻電壓的該些補償電壓之後,使用一預設調整值調整該錯誤位元數門檻值。
- 如申請專利範圍第12項所述之記憶體儲存裝置,其中該記憶體控制器藉由比對該第一資料與該已校正資料來獲得一錯誤位元資訊並且依據該錯誤位元資訊來計算該些補償電壓。
- 如申請專利範圍第12項所述之記憶體儲存裝置,其中該第一實體頁面中是該第一實體頁面群的該些實體頁面之中發生最多錯誤位元之實體頁面。
- 一種資料讀取方法,用於從一可複寫式非揮發性記憶體模組的一第一實體頁面讀取資料,其中該可複寫式非揮發性記憶體模組具有多個實體頁面,該些實體頁面被分組為多個實體頁面群,該第一實體頁面屬於該些實體頁面群之中的一第一實體頁面群,該第一實體頁面群對應一第一門檻電壓組與一第一門檻電壓旗標,該第一門檻電壓組包括多個門檻電壓,並且該第一門檻電壓旗標初始地被標記為一除能狀態,該資料讀取方法包括:判斷該第一門檻電壓旗標是否被標記為一致能狀態;倘若該第一門檻電壓旗標非被標記為該致能狀態時,使用該第一門檻電壓組從該第一實體頁面中讀取一第一資料並且判斷從該第一實體頁面中所讀取的該第一資料是否可藉由一錯誤校正電路來校正而產生一已校正資料;倘若該第一資料可藉由該錯誤校正電路來校正而產生該已校正資料時,判斷對應該第一資料的一錯誤位元數是否小於一錯誤位元數門檻值;以及倘若對應該第一資料的該錯誤位元數非小於該錯誤位元數門檻值時,計算對應該第一實體頁面群的該些門檻電壓的多個補償電壓並且將該第一門檻電壓旗標標記為該致能狀態。
- 如申請專利範圍第18項所述之資料讀取方法,更包括:倘若該第一門檻電壓旗標被標記為該致能狀態時,使用該些補償電壓來調整該第一門檻電壓組的該些門檻電壓並且使用調整後的該第一門檻電壓組從該第一實體頁面中讀取一第二資料。
- 如申請專利範圍第18項所述之資料讀取方法,更包括:根據對應該第一實體頁面群的一抹除次數動態地調整該錯誤位元數門檻值。
- 如申請專利範圍第18項所述之資料讀取方法,更包括:在計算對應該第一實體頁面群的該些門檻電壓的該些補償電壓之後,使用一預設調整值調整該錯誤位元數門檻值。
- 如申請專利範圍第18項所述之資料讀取方法,其中計算對應該第一實體頁面群的該些門檻電壓的該補償電壓的步驟包括:藉由比對該第一資料與該已校正資料來獲得一錯誤位元資訊;以及依據該錯誤位元資訊來計算該些補償電壓。
- 如申請專利範圍第22項所述之資料讀取方法,其中該第一資料具有多個位元,每一該些位元對應該可複寫式非揮發性記憶體模組的多個儲存狀態的其中之一,該些儲存狀態包括一第一儲存狀態與一第二儲存狀態並且該些門檻電壓之中的一第一門檻電壓用以區分該第一儲存狀態與該二儲存狀態,其中藉由比對該第一資料與該已校正資料來獲得該錯誤位元資訊的步驟包括:找出該第一資料的該些位元之中與該已校正資料的對應位元不相同的多個錯誤位元;統計該些錯誤位元之中屬於一第一錯誤位元型態的錯誤位元的數目,其中屬於該第一錯誤位元型態的錯誤位元是應對應該第一儲存狀態但被辨識為對應該第二儲存狀態的位元;統計該些錯誤位元之中屬於一第二錯誤位元型態的錯誤位元的數目,其中屬於該第二錯誤位元型態的錯誤位元是應對應該第二儲存狀態但被辨識為對應該第一儲存狀態的位元;以及將屬於該第一錯誤位元型態的錯誤位元的數目與屬於該第二錯誤位元型態的錯誤位元的數目作為該錯誤位元資訊,其中依據該錯誤位元資訊計算該些補償電壓的步驟包括:依據屬於該第一錯誤位元型態的錯誤位元的數目與屬於該第二錯誤位元型態的錯誤位元的數目來計算該些補償電壓之中的一第一補償電壓,其中該第一補償電壓用以調整該些門檻電壓之中的一第一門檻電壓。
- 如申請專利範圍第18項所述之資料讀取方法,其中該第一實體頁面中是該第一實體頁面群的該些實體頁面之中發生最多錯誤位元之實體頁面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100108514A TWI446346B (zh) | 2011-03-14 | 2011-03-14 | 資料讀取方法、記憶體儲存裝置及其記憶體控制器 |
US13/108,004 US8510637B2 (en) | 2010-04-14 | 2011-05-16 | Data reading method, memory storage apparatus and memory controller thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100108514A TWI446346B (zh) | 2011-03-14 | 2011-03-14 | 資料讀取方法、記憶體儲存裝置及其記憶體控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201237872A TW201237872A (en) | 2012-09-16 |
TWI446346B true TWI446346B (zh) | 2014-07-21 |
Family
ID=47223255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100108514A TWI446346B (zh) | 2010-04-14 | 2011-03-14 | 資料讀取方法、記憶體儲存裝置及其記憶體控制器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI446346B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI707356B (zh) * | 2020-02-27 | 2020-10-11 | 森富科技股份有限公司 | 記憶體操作條件檢查方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241549B (zh) * | 2016-12-27 | 2021-04-30 | 北京兆易创新科技股份有限公司 | 基于ECC的NAND数据Read Retry纠错方法和NAND控制器 |
-
2011
- 2011-03-14 TW TW100108514A patent/TWI446346B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI707356B (zh) * | 2020-02-27 | 2020-10-11 | 森富科技股份有限公司 | 記憶體操作條件檢查方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201237872A (en) | 2012-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI447731B (zh) | 資料讀取方法、記憶體儲存裝置及其控制器 | |
US8510637B2 (en) | Data reading method, memory storage apparatus and memory controller thereof | |
US8832526B2 (en) | Data reading method, memory controller, and memory storage device | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
US9257204B2 (en) | Read voltage setting method, and control circuit, and memory storage apparatus using the same | |
JP5686516B2 (ja) | Nandメモリのためのプログラミング管理データ | |
US8289771B2 (en) | Data reading method and control circuit and memory controller using the same | |
US9019770B2 (en) | Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same | |
US9703698B2 (en) | Data writing method, memory controller and memory storage apparatus | |
JP5732147B2 (ja) | データセンシングのための方法、装置、およびシステム | |
TWI474330B (zh) | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 | |
US9286986B2 (en) | Data writing method, and memory control circuit unit and memory storage apparatus using the same | |
US9257187B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
US8972653B2 (en) | Memory management method, and memory controller and memory storage apparatus using the same | |
US9563508B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
CN102693758B (zh) | 数据读取方法、存储器储存装置及其存储器控制器 | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
TWI741128B (zh) | 記憶體系統及用於操作半導體記憶體裝置的方法 | |
US10832784B2 (en) | Pre-program read to counter wordline failures | |
US8830750B1 (en) | Data reading method, and control circuit, memory module and memory storage apparatus using the same | |
US20140050024A1 (en) | Data reading method, and circuit, rewritable non-volatile memory module and memory storage apparatus using the same | |
TWI446346B (zh) | 資料讀取方法、記憶體儲存裝置及其記憶體控制器 | |
US10886002B1 (en) | NAND field use erase plus defect detections |