TWI613660B - 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI613660B TWI613660B TW105132771A TW105132771A TWI613660B TW I613660 B TWI613660 B TW I613660B TW 105132771 A TW105132771 A TW 105132771A TW 105132771 A TW105132771 A TW 105132771A TW I613660 B TWI613660 B TW I613660B
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- stylized
- memory
- data string
- entity
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/5628—Programming or writing circuits; Data input circuits
-
- 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/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- 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
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
一種記憶體程式化方法,用於程式化可複寫式非揮發性記憶體的實體抹除單元。本方法包括使用第一程式化參數組將第一資料串程式化至第一實體程式化單元,其中第一實體程式化單元是由此實體抹除單元的第一位元線串與實體抹除單元的第一字元線層交錯處上的記憶胞所構成。此外,本方法更包括在將第一資料串完整地程式化至第一實體程式化單元的所有記憶胞之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的所有記憶胞。
Description
本發明是有關於一種記憶體程式化方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的記憶體程式化方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,控制電路會透過對字元線(或字元線層)施加電壓,並且透過位元線對可複寫式非揮發性記憶體模組中所選擇的記憶胞進行程式化(programming),以儲存資料。目前對於市場大容量的儲存需求,目前已發展出一個記憶胞儲存3個資料位元的可複寫式非揮發性記憶體模組。然而,隨著製程技術的越來越精細,要在儲存3個資料位元的記憶胞中正確地識別出臨界電壓分佈也更為困難。因此,如何確保程式化至可複寫式非揮發性記憶體模組的資料的可靠度,是此領域技術人員所致力的欲解決的課題。
本發明提供一種記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置,其能夠有效地提升儲存資料的可靠度。
本發明的一範例實施例提出一種記憶體程式化方法,用於可複寫式非揮發性記憶體的實體抹除單元。此可複寫式非揮發性記憶體的實體抹除單元包括多個字元線層與多個位元線串,此些位元線串之中的每一個位元線串沿第一方向彼此分離開來排列,此些位元線串之中的每一個位元線串包括多條位元線,此些位元線沿第二方向延伸且沿第三方向彼此分離開來排列,此些字元線層沿第二方向堆疊且此些字元線層之間彼此分離開來,並且每一字元線層與每一位元線的交錯處具有記憶胞,此些位元線串之中的任一個位元線串與此些字元線層之中的任一個字元線層交錯處上的記憶胞構成至少一實體程式化單元。此記憶體程式化方法包括使用第一程式化參數組將第一資料串程式化至實體抹除單元的至少一第一實體程式化單元,其中第一實體程式化單元是由此些位元線串之中的第一位元線串與此些字元線層之中的第一字元線層交錯處上的記憶胞所構成。此記憶體程式化方法更包括,在將第一資料串完整地程式化至第一實體程式化單元的所有記憶胞之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的所有記憶胞。
在本發明的一範例實施例中,上述在將第一資料串完整地程式化至第一實體程式化單元之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟包括:在將第一資料串完整地程式化至第一實體程式化單元之後,立即使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元。
在本發明的一範例實施例中,上述在將第一資料串完整地程式化至第一實體程式化單元之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟包括:在將第一資料串完整地程式化至第一實體程式化單元之後,從第一實體程式化單元中讀取第一資料串,對從第一實體程式化單元中讀取的第一資料串執行錯誤檢查與校正操作並且判斷發生在從第一實體程式化單元中讀取的第一資料串上的錯誤位元的數目是否大於預先定義值;以及僅當發生在從第一實體程式化單元中讀取的第一資料串上的錯誤位元的數目大於預先定義值時,執行上述使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟。
在本發明的一範例實施例中,上述第一程式化參數組包括第一寫入電壓組、第一寫入電壓脈衝時間和第一驗證電壓組且第二程式化參數組包括第二寫入電壓組、第二寫入電壓脈衝時間和第二驗證電壓組,其中第一寫入電壓組不同於第二寫入電壓組。
在本發明的一範例實施例中,上述第一程式化參數組包括第一寫入電壓組、第一寫入電壓脈衝時間和第一驗證電壓組且第二程式化參數組包括第二寫入電壓組、第二寫入電壓脈衝時間和第二驗證電壓組,其中第一驗證電壓組不同於第二驗證電壓組。
在本發明的一範例實施例中,上述第二程式化參數組相同於上述第一程式化參數組。
在本發明的一範例實施例中,在將第一資料串完整地程式化至第一實體程式化單元的所有記憶胞之後,第一實體程式化單元的記憶胞可被正常地讀取,並且從第一實體程式化單元的記憶胞中讀取的資料相同於第一資料串。
本發明的一範例實施例提出一種用於可複寫式非揮發性記憶體模組的記憶體控制電路單元。此可複寫式非揮發性記憶體模組包括一個實體抹除單元,此實體抹除單元包括多個字元線層與多個位元線串,此些位元線串之中的每一個位元線串沿第一方向彼此分離開來排列,此些位元線串之中的每一個位元線串包括多條位元線,此些位元線沿第二方向延伸且沿第三方向彼此分離開來排列,此些字元線層沿第二方向堆疊且此些字元線層之間彼此分離開來,並且每一字元線層與每一位元線的交錯處具有記憶胞,此些位元線串之中的任一個位元線串與此些字元線層之中的任一個字元線層交錯處上的記憶胞構成至少一實體程式化單元。此記憶體控制電路單元包括:主機介面、記憶體介面和記憶體管理電路。記憶體管理電路耦接至主機介面與記憶體介面。主機介面用以耦接至主機系統,並且記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路用以下達一第一指令序列以使用第一程式化參數組將第一資料串程式化至實體抹除單元的至少一第一實體程式化單元,其中第一實體程式化單元是由此些位元線串之中的第一位元線串與此些字元線層之中的第一字元線層交錯處上的記憶胞所構成。在將第一資料串完整地程式化至第一實體程式化單元的所有記憶胞之後,記憶體管理電路下達一第二指令序列以使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的所有記憶胞。
在本發明的一範例實施例中,在將第一資料串完整地程式化至第一實體程式化單元之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的運作中,記憶體管理電路在將第一資料串完整地程式化至第一實體程式化單元之後,立即使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元。
在本發明的一範例實施例中,在將第一資料串完整地程式化至第一實體程式化單元之後,使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的運作中,在將第一資料串完整地程式化至第一實體程式化單元之後,記憶體管理電路從第一實體程式化單元中讀取第一資料串,對從第一實體程式化單元中讀取的第一資料串執行錯誤檢查與校正操作並且判斷發生在從第一實體程式化單元中讀取的第一資料串上的錯誤位元的數目是否大於預先定義值。並且,僅當發生在從第一實體程式化單元中讀取的第一資料串上的錯誤位元的數目大於預先定義值時,記憶體管理電路執行上述使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的運作。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括用以耦接至主機系統的連接介面單元、可複寫式非揮發性記憶體模組與耦接至連接介面單元與可複寫式非揮發性記憶體模組的上述記憶體控制電路單元。此記憶體控制電路單元包括:主機介面、記憶體介面和記憶體管理電路。主機介面用以耦接至主機系統,記憶體介面用以耦接至可複寫式非揮發性記憶體模組,且記憶體管理電路耦接至主機介面與記憶體介面。
基於上述,本發明範例實施例的記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置能夠有效地提升儲存資料的可靠度,避免資料遺失。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路單元)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
[第一範例實施例]
圖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是相容於安全數位(Secure Digital, SD)介面標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合序列先進附件(Serial Advanced Technology Attachment, SATA)標準、並列先進附件(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)介面標準、記憶棒(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具有實體抹除單元410(0)~ 410(N)。例如,實體抹除單元410(0)~410(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含8個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406為三維(Three Dimension, 3D)複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)或其他具有相同特性的記憶體模組。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是3D多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)或其他具有相同特性的記憶體模組。
圖5是根據第一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖,並且圖6是根據第一範例實施例所繪示的實體抹除單元的記憶胞陣列的示意圖。
請參照圖5與圖6,可複寫式非揮發性記憶體模組406包括記憶胞陣列2202、字元線控制電路2204、位元線控制電路2206、行解碼器(column decoder)2208、資料輸入/輸出緩衝器2210與控制電路2212。
請參照圖5與圖6,記憶胞陣列2202包括用以儲存資料的多個記憶胞702、多個位元線串(例如,第一位元線串704(1)、第二位元線串704(2)、第三位元線串704(3)與第四位元線串704(4))與多個字元線層(例如,第一字元線層706(1)、第二字元線層706(2)、第三字元線層706(3)、第四字元線層706(4)、第五字元線層706(5)、第六字元線層706(6)、第七字元線層706(7)、第八字元線層706(8)與第九字元線層706(9))。實體抹除單元的是由記憶胞陣列2202中的記憶胞702所構成。具體來說,每一位元線串包括多個位元線組(例如,位元線組704(1-1)、位元線組704(1-2)、位元線組704(1-3)、位元線組704(1-4)、位元線組704(2-1)、位元線組704(2-2)、位元線組704(2-3)、位元線組704(2-4)、位元線組704(3-1)、位元線組704(3-2)、位元線組704(3-3)、位元線組704(3-4)、位元線組704(4-1)、位元線組704(4-2)、位元線組704(4-3)、位元線組704(4-4)),並且每一位元線組是沿第一方向彼此分離開來排列。此外,每一位元線組包括沿第三方向彼此分離開來排列且沿第二方向延伸的多條位元線(如圖6所示垂直排列穿過各字元線層的管狀元件)。而此些字元線層是沿第二方向堆疊且字元線層之間彼此分離開來。例如,第一方向為X軸,第二方向為Z軸,而第三方向為Y軸。而構成實體抹除單元的記憶胞位於每一字元線層與每一位元線串的每一位元線的交錯處。在本範例實施例,可複寫式非揮發性記憶體模組406為3D TLC NAND型快閃記憶體模組,因此,每個位元線串與每個字元線層交錯處上的記憶胞會構成3個實體程式化單元。而在可複寫式非揮發性記憶體模組406為3D MLC NAND型快閃記憶體模組的例子中,每個位元線串與每個字元線層交錯處上的記憶胞會構成2個實體程式化單元。當從記憶體控制電路單元404接收到寫入指令或讀取指令時,控制電路2212會控制字元線控制電路2204、位元線控制電路2206、行解碼器2208、資料輸入/輸出緩衝器2210來寫入資料至記憶胞陣列2202或從記憶胞陣列2202中讀取資料,其中字元線控制電路2204用以控制施予至字元線706的電壓,位元線控制電路2206用以控制施予至位元線704的電壓,行解碼器2208依據指令中的解碼列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器2210用以暫存資料。可複寫式非揮發性記憶體模組406中的記憶胞是以多種閘極電壓來代表多位元(bits)的資料。記憶胞陣列2202之記憶胞的資料寫入(或稱為程式化)是利用施予一特定端點之電壓,例如是控制閘極電壓來改變閘極中之一電荷補捉層的電子量,因而改變了記憶胞的通道的導通狀態,以呈現不同的儲存狀態。
圖7是根據第一範例實施例所繪示之程式化記憶胞的示意圖。
請參照圖7,在本範例實施例中,記憶胞的程式化是透過脈衝寫入/驗證臨界電壓方法來完成。具體來說,欲將資料寫入至記憶胞時,記憶體控制電路單元404會設定初始寫入電壓以及寫入電壓脈衝時間,並且指示可複寫式非揮發性記憶體模組406的控制電路2212使用所設定的初始寫入電壓以及寫入電壓脈衝時間來程式化記憶胞,以進行資料的寫入。之後,記憶體控制電路單元404會使用驗證電壓來對記憶胞進行驗證,以判斷記憶胞是否已處於正確的儲存狀態。倘若記憶胞未被程式化至正確的儲存狀態時,記憶體控制電路單元404指示控制電路2212以目前施予的寫入電壓加上一增量階躍脈衝程式(Incremental-step-pulse programming, ISPP)調整值作為新的寫入電壓(亦稱為重複寫入電壓)並且依據新的寫入電壓與寫入電壓脈衝時間再次來程式化記憶胞。反之,倘若記憶胞已被程式化至正確的儲存狀態時,則表示資料已被正確地寫入至記憶胞。例如,初始寫入電壓會被設定為16伏特(Voltage, V),寫入電壓脈衝時間會被設定為18微秒(microseconds, μs)並且增量階躍脈衝程式調整值被設定為0.6V,但本發明不限於此。
記憶胞陣列2202之記憶胞的讀取運作是藉由施予讀取電壓於控制閘(control gate),藉由記憶胞之通道(記憶胞用以電連接位元線與源極線之路徑,例如是記憶胞源極至汲極間之路徑)的導通狀態,來識別記憶胞儲存之資料。
圖8是根據第一範例實施例所繪示的從記憶胞中讀取資料的示意圖,其是以3D TLC NAND型快閃記憶體為例。
請參照圖8,可複寫式非揮發性記憶體模組406的記憶胞的儲存狀態包括左側算起之第1個位元的最低有效位元(Least Significant Bit,LSB)、從左側算起之第2個位元的中間有效位元(Center Significant Bit,CSB)以及從左側算起之第3個位元的最高有效位元(Most Significant Bit,MSB),其中LSB對應下實體程式化單元,CSB對應中實體程式化單元,MSB對應上實體程式化單元。在此範例中,每一記憶胞中的閘極電壓可依據第一預設讀取電壓VA、第二預設讀取電壓VB、第三預設讀取電壓VC、第四預設讀取電壓VD、第五預設讀取電壓VE、第六預設讀取電壓VF與第七預設讀取電壓VG而區分為8種儲存狀態(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"與"011")。特別是,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
圖9、圖10、圖11與圖12是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖9,記憶體控制電路單元404會以實體程式化單元為單位來對可複寫式非揮發性記憶體模組406的記憶胞702進行寫入運作並且以實體抹除單元為單位來對可複寫式非揮發性記憶體模組406的記憶胞702進行抹除運作。具體來說,可複寫式非揮發性記憶體模組406的記憶胞702會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元410(0)~410(N)。實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,一個實體程式化單元為寫入資料的最小單元。特別是,在本範例實施例中,一個實體抹除單元被抹除之前,其中的實體程式化單元可被執行一次或多次程式化。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。例如,以屬於3D TLC NAND快閃記憶體的可複寫式非揮發性記憶體模組406為例,位於一字元線層和一位元線串交界處上之記憶胞的LSB會構成一個下實體程式化單元;位於一字元線層和一位元線串交界處上之記憶胞的CSB會構成一個中實體程式化單元;並且位於一字元線層和一位元線串交界處上之記憶胞的MSB會構成一個上實體程式化單元。也就是說,可複寫式非揮發性記憶體模組406的實體抹除單元中的實體程式化單元可區分為下實體程式化單元、中實體程式化單元與上實體程式化單元(如圖10所示)。
請參照圖11,在本範例實施例中,記憶體控制電路單元404會將實體抹除單元410(0)~410(N)邏輯地分組為資料區502、閒置區504、系統區506、暫存區508與取代區510。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體控制電路單元404會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數、記憶體儲存裝置10的韌體碼等。
邏輯上屬於暫存區508的實體抹除單元是用以暫存主機系統11所寫入的資料。
邏輯上屬於取代區510中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區510中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路1302會從取代區510中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506、暫存區508與取代區510之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至資料區502、閒置區504、系統區506暫存區508與取代區510的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區510的實體抹除單元取代時,則原本取代區510的實體抹除單元會被關聯至閒置區504。例如,在開卡程序中,未配置實體抹單元至暫存區508,當執行寫入運作時,記憶體控制電路單元404會從閒置區504中提取實體抹除單元來暫存資料,而此用於暫存資料的實體抹除單元會被視為屬於暫存區508。
請參照圖12,記憶體控制電路單元404會配置邏輯單元LBA(0)~LBA(H)以映射資料區502的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統11欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元404會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元404會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統11欲在邏輯子單元中存取資料時,記憶體控制電路單元404會確認此邏輯子單元所屬的邏輯單元,並且對可複寫式非揮發性記憶體模組406下達對應的指令序列以在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元404會在可複寫式非揮發性記憶體模組406中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體控制電路單元404會將邏輯轉實體位址映射表載入至緩衝記憶體來維護。
圖13是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。必須瞭解的是,圖13所示之記憶體控制電路單元的結構僅為一範例,本發明不以此為限。
請參照圖13,記憶體控制電路單元404包括記憶體管理電路1302、主機介面1304、記憶體介面1306與錯誤檢查與校正電路1308。
記憶體管理電路1302用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路1302具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下描述記憶體管理電路1302所執行的操作與功能,亦可視為由記憶體控制電路單元404所執行。
在本範例實施例中,記憶體管理電路1302的控制指令是以韌體型式來實作。例如,記憶體管理電路1302具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路1302的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路1302具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路1302的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路1302的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路1302包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
主機介面1304是耦接至記憶體管理電路1302並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面1304來傳送至記憶體管理電路1302。在本範例實施例中,主機介面1304是相容於USB標準。然而,必須瞭解的是本發明不限於此,主機介面1304亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、SD標準、SATA標準、UHS-I介面標準 、UHS-II介面標準、MS標準、MMC標準、eMMC介面標準 、UFS介面標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面1306是耦接至記憶體管理電路1302並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面1306轉換為可複寫式非揮發性記憶體模組406所能接受的格式。
錯誤檢查與校正電路1308是耦接至記憶體管理電路1302並且用以執行一錯誤校正程序以確保資料的正確性。具體來說,當記憶體管理電路1302從可複寫式非揮發性記憶體模組406中讀取資料時,錯誤檢查與校正電路1308會對所讀取的資料執行錯誤校正程序。例如,在本範例實施例中,錯誤檢查與校正電路1308為低密度奇偶校正(Low Density Parity Check,LDPC)電路,並且會儲存記錄對數可能性比(Log Likelihood Ratio,LLR)值查詢表。當記憶體管理電路1302從可複寫式非揮發性記憶體模組406讀取資料時,錯誤檢查與校正電路1308會依據所讀取的資料以及查詢表中對應的LLR值來執行錯誤校正程序。其中,值得說明的是在另一範例實施例中,錯誤檢查與校正電路1308亦可為渦輪碼(Turbo Code) 電路。
在本發明一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體1310與電源管理電路1312。
緩衝記憶體1310是耦接至記憶體管理電路1302並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
電源管理電路1312是耦接至記憶體管理電路1302並且用以控制記憶體儲存裝置10的電源。
在本範例實施例中,在將資料寫入至上述實體抹除單元的過程中,記憶體控制電路單元404每次下達指令序列(即,包含“80”、 “位址”、 “10”等字串的程式化指令)以對其中一個字元線層施加電壓以進行程式化運作時,僅會指示選擇其中一個位元線串來作動,以對此字元線層和此位元線串交界處上的記憶胞進行程式化。特別是,為了讓程式化後的記憶胞的電壓分佈中的讀取極限(read margin)加大,以增加資料的可靠度,在本範例實施例中,記憶體控制電路單元404會在完成一個字元線層和一個位元線串交界處上的記憶胞的完整程式化(即,完成上述脈衝寫入/驗證臨界電壓程式化操作)後,再對此字元線層和一個位元線串交界處上的記憶胞進行第二次程式化。具體來說,在一個字元線層和一個位元線串交界處上的記憶胞被完整程式化後,此字元線層和此位元線串交界處上的記憶胞上的資料已可被正確地讀取(即,可下達讀取指令來正確讀取此些記憶胞上的資料)。然而,為了加大此些記憶胞內的讀取極限,記憶體控制電路單元404會在此字元線層和此位元線串交界處上的記憶胞已儲存正確的資料下,再此下達程式化指令以使用上述脈衝寫入/驗證臨界電壓方法來對此些記憶胞執行程式化。也就是說,在本範例實施例中,記憶體控制電路單元404會連續對一個字元線層和一個位元線串交界處上的記憶胞進行多次完整程式化操作。
圖14是根據第一範例實施例所繪示的記憶體程式化方法的流程圖。
請參照圖14,在步驟S1401中,記憶體控制電路單元404使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元),其中第一實體程式化單元是由第一位元線串704(1)與第一字元線層706(1)交錯處上的記憶胞所構成。如上所述,在本範例實施例中,可複寫式非揮發性記憶體模組406為3D TLC NAND型快閃記憶體模組,因此,第一位元線串704(1)與第一字元線層706(1)交錯處上的記憶胞會組成3個實體程式化單元,並且此3個實體程式化單元會同時被完成程式化。
接著,在步驟S1402中,記憶體控制電路單元404使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元。例如,記憶體控制電路單元404在完成將第一資料串完整地程式化至第一實體程式化單元後,立即使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元。
在此,第二程式化參數組是不同於第一程式化參數組。例如,記憶體控制電路單元404會根據第一程式化參數組的寫入電壓組(以下稱為第一寫入電壓組)和預定調整值來產生第二程式化參數組的寫入電壓組(以下稱為第二寫入電壓組)。或者,在另一範例實施例中,記憶體控制電路單元404會根據第一程式化參數組的驗證電壓組(以下稱為第一驗證電壓組)和預定調整值來產生第二程式化參數組的驗證電壓組(以下稱為第二驗證電壓組)。再者,在另一範例實施例中,記憶體控制電路單元404會根據第一程式化參數組的寫入電壓脈衝時間(以下稱為第一寫入電壓脈衝時間)和預定調整值來產生第二程式化參數組的寫入電壓脈衝時間(以下稱為第二寫入電壓脈衝時間)。
值得一提的是,儘管在本範例實施例中,第二程式化參數組是不同於第一程式化參數組。然而,本發明不限於此,在另一範例實施例中,第二程式化參數組亦可相同於第一程式化參數組。
[第二範例實施例]
第二範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第一範例實施例的記憶體儲存裝置是對同一個字元線層與同一個位元線串交界出上的相同記憶胞連續進行完整程式化操作,而第二範例實施例的記憶體儲存裝置是在完成完整程式化操作後,發現發生在所程式化之資料上的錯誤位元的數目大於一預先定義值時,才進行重複程式化的操作。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第二範例實施例的記憶體儲存裝置的運作。
圖15是根據第二範例實施例所繪示的記憶體程式化方法的流程圖。
請參照圖15,在步驟S1501中,記憶體控制電路單元404使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元),其中第一實體程式化單元是由第一位元線串704(1)與第一字元線層706(1)交錯處上的記憶胞所構成。
在步驟S1503中,記憶體控制電路單元404會從第一實體程式化單元中讀取第一資料串,並且在步驟S1505中,記憶體控制電路單元404會判斷發生在所讀取的第一資料串上的錯誤位元的數目是否大於預先定義值。具體來說,記憶體控制電路單元404的錯誤檢查與校正電路1308會對所讀取的第一資料串執行錯誤檢查與校正操作。例如,錯誤檢查與校正電路1308能夠校正的錯誤位元的數目為最大可校正數目,並且預先定義值可被設定為小於或等於錯誤檢查與校正電路1308的最大可校正數目。
倘若發生在所讀取的第一資料串上的錯誤位元的數目大於預先定義值時,則在步驟S1507中,記憶體控制電路單元404使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元。
倘若發生在所讀取的第一資料串上的錯誤位元的數目非大於預先定義值時,則圖15的流程會結束。
綜上所述,本發明範例實施例的資料程式化方法、記憶體控制電路單元與記憶體儲存裝置是在程式化資料時,對相同的記憶胞重複執行程式化操作,由此增加記憶胞的電壓分佈中的讀取極限,以提升資料的可靠度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
410(0)、410(1)、410(F-1)、410(F)、410(F+1)、410(S-1)、410(S)、410(S+1)、410(R-1)、410(R)、410(R+1)、410(N)‧‧‧實體抹除單元
2202‧‧‧記憶胞陣列
2204‧‧‧字元線控制電路
2206‧‧‧位元線控制電路
2208‧‧‧行解碼器
2210‧‧‧資料輸入/輸出緩衝器
2212‧‧‧控制電路
702‧‧‧記憶胞
704(1)、704(2)、704(3)、704(4)‧‧‧位元線串
704(1-1)、704(1-2)、704(1-3)、704(1-4)、704(2-1)、704(2-2)、704(2-3)、704(2-4)、704(3-1)、704(3-2)、704(3-3)、704(3-4)、704(4-1)、704(4-2)、704(4-3)、704(4-4)‧‧‧位元線組
706(1)、706(2)、706(3)、706(4)、706(5)、706(6)、706(7)、706(8)、706(9)‧‧‧字元線層
VA‧‧‧第一預設讀取電壓
VB‧‧‧第二預設讀取電壓
VC‧‧‧第三預設讀取電壓
VD‧‧‧第四預設讀取電壓
VE‧‧‧第五預設讀取電壓
VF‧‧‧第六預設讀取電壓
VG‧‧‧第七預設讀取電壓
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧暫存區
510‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯單元
1302‧‧‧記憶體管理電路
1304‧‧‧主機介面
1306‧‧‧記憶體介面
1308‧‧‧錯誤檢查與校正電路
1310‧‧‧緩衝記憶體
1312‧‧‧電源管理電路
S1401‧‧‧使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元)的步驟
S1402‧‧‧使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟
S1501‧‧‧使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元)的步驟
S1503‧‧‧從第一實體程式化單元中讀取第一資料串的步驟
S1505‧‧‧判斷發生在所讀取的第一資料串上的錯誤位元的數目是否大於預先定義值的步驟
S1507‧‧‧使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
410(0)、410(1)、410(F-1)、410(F)、410(F+1)、410(S-1)、410(S)、410(S+1)、410(R-1)、410(R)、410(R+1)、410(N)‧‧‧實體抹除單元
2202‧‧‧記憶胞陣列
2204‧‧‧字元線控制電路
2206‧‧‧位元線控制電路
2208‧‧‧行解碼器
2210‧‧‧資料輸入/輸出緩衝器
2212‧‧‧控制電路
702‧‧‧記憶胞
704(1)、704(2)、704(3)、704(4)‧‧‧位元線串
704(1-1)、704(1-2)、704(1-3)、704(1-4)、704(2-1)、704(2-2)、704(2-3)、704(2-4)、704(3-1)、704(3-2)、704(3-3)、704(3-4)、704(4-1)、704(4-2)、704(4-3)、704(4-4)‧‧‧位元線組
706(1)、706(2)、706(3)、706(4)、706(5)、706(6)、706(7)、706(8)、706(9)‧‧‧字元線層
VA‧‧‧第一預設讀取電壓
VB‧‧‧第二預設讀取電壓
VC‧‧‧第三預設讀取電壓
VD‧‧‧第四預設讀取電壓
VE‧‧‧第五預設讀取電壓
VF‧‧‧第六預設讀取電壓
VG‧‧‧第七預設讀取電壓
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧暫存區
510‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯單元
1302‧‧‧記憶體管理電路
1304‧‧‧主機介面
1306‧‧‧記憶體介面
1308‧‧‧錯誤檢查與校正電路
1310‧‧‧緩衝記憶體
1312‧‧‧電源管理電路
S1401‧‧‧使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元)的步驟
S1402‧‧‧使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟
S1501‧‧‧使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元)的步驟
S1503‧‧‧從第一實體程式化單元中讀取第一資料串的步驟
S1505‧‧‧判斷發生在所讀取的第一資料串上的錯誤位元的數目是否大於預先定義值的步驟
S1507‧‧‧使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟
圖1是根據第一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖5是根據第一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。 圖6是根據第一範例實施例所繪示的實體抹除單元的記憶胞陣列的示意圖。 圖7是根據第一範例實施例所繪示之程式化記憶胞的示意圖。 圖8是根據第一範例實施例所繪示的從記憶胞中讀取資料的示意圖。 圖9、圖10、圖11與圖12是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。 圖13是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。 圖14是根據本發明第一範例實施例所繪示的記憶體程式化方法的流程圖。 圖15是根據本發明第二範例實施例所繪示的記憶體程式化方法的流程圖。
S1401‧‧‧使用第一程式化參數組將資料串(以下稱為第一資料串)程式化至實體抹除單元的至少一個實體程式化單元(以下稱為第一實體程式化單元)的步驟
S1402‧‧‧使用第二程式化參數組將第一資料串再次程式化至第一實體程式化單元的步驟
Claims (21)
- 一種記憶體程式化方法,用於一可複寫式非揮發性記憶體的至少一實體抹除單元,其中該至少一實體抹除單元包括多個字元線層與多個位元線串,該些位元線串之中的每一個位元線串沿一第一方向彼此分離開來排列,該些位元線串之中的每一個位元線串包括多條位元線,該些位元線沿一第二方向延伸且沿一第三方向彼此分離開來排列,該些字元線層沿該第二方向堆疊且該些字元線層之間彼此分離開來,並且每一字元線層與每一位元線的交錯處具有一記憶胞,該些位元線串之中的任一個位元線串與該些字元線層之中的任一個字元線層交錯處上的記憶胞構成至少一實體程式化單元,該記憶體程式化方法包括: 使用一第一程式化參數組將一第一資料串程式化至該實體抹除單元的至少一第一實體程式化單元,其中該至少一第一實體程式化單元是由該些位元線串之中的一第一位元線串與該些字元線層之中的一第一字元線層交錯處上的記憶胞所構成;以及 在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,使用一第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的所有記憶胞。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的步驟包括: 在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,立即使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的步驟包括: 在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,從該至少一第一實體程式化單元中讀取該第一資料串; 對從該至少一第一實體程式化單元中讀取的該第一資料串執行一錯誤檢查與校正操作並且判斷發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目是否大於一預先定義值;以及 僅當發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目大於該預先定義值時,執行上述使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的步驟。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組, 其中該第一寫入電壓組不同於該第二寫入電壓組。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組, 其中該第一驗證電壓組不同於該第二驗證電壓組。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中該第二程式化參數組相同於該第一程式化參數組。
- 如申請專利範圍第1項所述的記憶體程式化方法,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,該至少一第一實體程式化單元的記憶胞可被正常地讀取,並且從該至少一第一實體程式化單元的記憶胞中讀取的資料相同於該第一資料串。
- 一種記憶體控制電路單元,用於存取一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有至少一實體抹除單元,該至少一實體抹除單元包括多個字元線層與多個位元線串,該些位元線串之中的每一個位元線串沿一第一方向彼此分離開來排列,該些位元線串之中的每一個位元線串包括多條位元線,該些位元線沿一第二方向延伸且沿一第三方向彼此分離開來排列,該些字元線層沿該第二方向堆疊且該些字元線層之間彼此分離開來,並且每一字元線層與每一位元線的交錯處具有一記憶胞,該些位元線串之中的任一個位元線串與該些字元線層之中的任一個字元線層交錯處上的記憶胞構成至少一實體程式化單元;以及 一記憶體管理電路,耦接至該主機介面與該記憶體介面, 其中該記憶體管理電路用以下達一第一指令序列,以使用一第一程式化參數組將一第一資料串程式化至該實體抹除單元的至少一第一實體程式化單元,其中該至少一第一實體程式化單元是由該些位元線組之中的一第一位元線串與該些字元線層之中的一第一字元線層交錯處上的記憶胞所構成, 其中該記憶體管理電路更用以在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,下達一第二指令序列,以使用一第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的所有記憶胞。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作中,該記憶體管理電路在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,立即使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作中,該記憶體管理電路在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,從該至少一第一實體程式化單元中讀取的該第一資料串,對從該至少一第一實體程式化單元中讀取的該第一資料串執行一錯誤檢查與校正操作並且判斷發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目是否大於一預先定義值, 其中僅當發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目大於該預先定義值時,該記憶體管理電路執行上述使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組,其中該第一寫入電壓組不同於該第二寫入電壓組。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組,其中該第一驗證電壓組不同於該第二驗證電壓組。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該第二程式化參數組相同於該第一程式化參數組。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,該至少一第一實體程式化單元的記憶胞可被正常地讀取,並且從該至少一第一實體程式化單元的記憶胞中讀取的資料相同於該第一資料串。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有至少一實體抹除單元,該至少一實體抹除單元包括多個字元線層與多個位元線串,該些位元線串之中的每一個位元線串沿一第一方向彼此分離開來排列,該些位元線串之中的每一個位元線串包括多條位元線,該些位元線沿一第二方向延伸且沿一第三方向彼此分離開來排列,該些字元線層沿該第二方向堆疊且該些字元線層之間彼此分離開來,並且每一字元線層與每一位元線的交錯處具有一記憶胞,該些位元線串之中的任一個位元線串與該些字元線層之中的任一個字元線層交錯處上的記憶胞構成至少一實體程式化單元;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以下達一第一指令序列,以使用一第一程式化參數組將一第一資料串程式化至該實體抹除單元的至少一第一實體程式化單元,其中該至少一第一實體程式化單元是由該些位元線組之中的一第一位元線串與該些字元線層之中的一第一字元線層交錯處上的記憶胞所構成, 其中該記憶體控制電路單元更用以在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,下達一第二指令序列,以使用一第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的所有記憶胞。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作中,該記憶體控制電路單元在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,立即使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作中,該記憶體控制電路單元在將該第一資料串完整地程式化至該至少一第一實體程式化單元之後,從該至少一第一實體程式化單元中讀取該第一資料串,對從該至少一第一實體程式化單元中讀取的該第一資料串執行一錯誤檢查與校正操作並且判斷發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目是否大於一預先定義值, 其中僅當發生在從該至少一第一實體程式化單元中讀取的該第一資料串上的錯誤位元的數目大於該預先定義值時,該記憶體控制電路單元執行上述使用該第二程式化參數組將該第一資料串再次程式化至該至少一第一實體程式化單元的運作。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組,其中該第一寫入電壓組不同於該第二寫入電壓組。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該第一程式化參數組包括一第一寫入電壓組、一第一寫入電壓脈衝時間和一第一驗證電壓組且該第二程式化參數組包括一第二寫入電壓組、一第二寫入電壓脈衝時間和一第二驗證電壓組,其中該第一驗證電壓組不同於該第二驗證電壓組。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該第二程式化參數組相同於該第一程式化參數組。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中在將該第一資料串完整地程式化至該至少一第一實體程式化單元的所有記憶胞之後,該至少一第一實體程式化單元的記憶胞可被正常地讀取,並且從該至少一第一實體程式化單元的記憶胞中讀取的資料相同於該第一資料串。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105132771A TWI613660B (zh) | 2016-10-11 | 2016-10-11 | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
US15/361,008 US9972390B2 (en) | 2016-10-11 | 2016-11-24 | Two pass memory programming method, memory control circuit unit and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105132771A TWI613660B (zh) | 2016-10-11 | 2016-10-11 | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI613660B true TWI613660B (zh) | 2018-02-01 |
TW201814717A TW201814717A (zh) | 2018-04-16 |
Family
ID=61828883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105132771A TWI613660B (zh) | 2016-10-11 | 2016-10-11 | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9972390B2 (zh) |
TW (1) | TWI613660B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057194A (ja) * | 2017-09-22 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム、及び不揮発性メモリの制御方法 |
US10629272B1 (en) * | 2019-02-12 | 2020-04-21 | Sandisk Technologies Llc | Two-stage ramp up of word line voltages in memory device to suppress read disturb |
CN111831210B (zh) * | 2019-04-18 | 2023-12-15 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281769A1 (en) * | 2013-03-18 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US20150340099A1 (en) * | 2014-05-26 | 2015-11-26 | Donghun Kwak | Operating method of storage device |
TW201621911A (zh) * | 2014-12-12 | 2016-06-16 | 群聯電子股份有限公司 | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160203049A1 (en) * | 2015-01-13 | 2016-07-14 | Samsung Electronics Co., Ltd. | Program and operating methods of nonvolatile memory device |
US9396804B1 (en) * | 2015-08-06 | 2016-07-19 | Phison Electronics Corp. | Memory programming method, memory control circuit unit and memory storage apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US7158421B2 (en) * | 2005-04-01 | 2007-01-02 | Sandisk Corporation | Use of data latches in multi-phase programming of non-volatile memories |
KR101635504B1 (ko) * | 2009-06-19 | 2016-07-04 | 삼성전자주식회사 | 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법 |
KR101686590B1 (ko) * | 2010-09-20 | 2016-12-14 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법 |
US9257186B2 (en) * | 2014-05-08 | 2016-02-09 | Sandisk Technologies Inc. | Memory access techniques for a memory having a three-dimensional memory configuration |
-
2016
- 2016-10-11 TW TW105132771A patent/TWI613660B/zh active
- 2016-11-24 US US15/361,008 patent/US9972390B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281769A1 (en) * | 2013-03-18 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US20150340099A1 (en) * | 2014-05-26 | 2015-11-26 | Donghun Kwak | Operating method of storage device |
TW201621911A (zh) * | 2014-12-12 | 2016-06-16 | 群聯電子股份有限公司 | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160203049A1 (en) * | 2015-01-13 | 2016-07-14 | Samsung Electronics Co., Ltd. | Program and operating methods of nonvolatile memory device |
US9396804B1 (en) * | 2015-08-06 | 2016-07-19 | Phison Electronics Corp. | Memory programming method, memory control circuit unit and memory storage apparatus |
Also Published As
Publication number | Publication date |
---|---|
TW201814717A (zh) | 2018-04-16 |
US9972390B2 (en) | 2018-05-15 |
US20180101317A1 (en) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI649754B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9703698B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI489469B (zh) | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107958687B (zh) | 存储器编程方法、存储器控制电路单元及其存储装置 | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW201629772A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI556248B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9312013B1 (en) | Configuration method of erase operation, memory controlling circuit unit and memory storage device | |
TWI613660B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI717751B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN112860194B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110837339A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI605457B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201901433A (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN108091364B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN105761754B (zh) | 存储单元编程方法、存储器控制电路单元与存储装置 | |
TWI591641B (zh) | 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI771243B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI705449B (zh) | 電壓識別方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI765600B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114138207B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI490865B (zh) | 資料讀取方法、記憶體控制器與記憶體儲存裝置 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 |