TW201611010A - 程式化方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
程式化方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TW201611010A TW201611010A TW103131539A TW103131539A TW201611010A TW 201611010 A TW201611010 A TW 201611010A TW 103131539 A TW103131539 A TW 103131539A TW 103131539 A TW103131539 A TW 103131539A TW 201611010 A TW201611010 A TW 201611010A
- Authority
- TW
- Taiwan
- Prior art keywords
- word line
- data
- physical erasing
- unit
- program
- 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
- 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
- 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/10—Programming or data input 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
一種程式化方法、記憶體儲存裝置及記憶體控制電路單元。所述方法包括:接收第一寫入指令;以及根據第一寫入指令選擇第一實體抹除單元並且發送第一跳躍寫入指令序列,其中第一跳躍寫入指令序列指示執行第一跳躍程式化程序,其中第一跳躍程式化程序包括:將第一資料程式化至第一實體抹除單元的第一字元線;以及在第一字元線被程式化之後,跳過與第一字元線相鄰的第二字元線而將第一資料程式化至不與第一字元線相鄰的第三字元線。
Description
本發明是有關於一種記憶體管理方法,且特別是有關於一種程式化方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組中的多條字元線會被程式化(programming)來儲存資料。然而,若沒有將程式化字元線的方式加以管理,則可能會在所儲存的資料中產生過多的錯誤位元。
本發明提供一種程式化方法、記憶體儲存裝置及記憶體
控制電路單元,可減少因程式化相鄰的字元線所產生的錯誤。
本發明的一範例實施例提供一種程式化方法,其用於可複寫式非揮發性記憶體模組,可複寫式非揮發性記憶體模組包括多個實體抹除單元,所述程式化方法包括:接收至少一第一寫入指令;以及根據所述第一寫入指令從所述實體抹除單元中選擇第一實體抹除單元並且發送第一跳躍寫入指令序列,其中第一跳躍寫入指令序列指示執行第一跳躍程式化程序,其中第一跳躍程式化程序包括:根據對應於所述第一寫入指令的第一資料來程式化第一實體抹除單元的多條字元線中的第一字元線;以及在第一字元線被程式化之後,跳過第一實體抹除單元的所述字元線中與第一字元線相鄰的至少一第二字元線而根據第一資料來程式化第一實體抹除單元的所述字元線中不與第一字元線相鄰的第三字元線。
在本發明的一範例實施例中,所述程式化方法更包括:判斷第一資料的資料大小是否超過第一實體抹除單元的可用大小,其中第一實體抹除單元的可用大小小於或等於第一實體抹除單元的總儲存空間的大小的1/P,且P是大於1的整數;以及若第一資料的資料大小超過第一實體抹除單元的可用大小,從所述實體抹除單元中選擇第二實體抹除單元,其中第一跳躍程式化程序更包括:根據第一資料來程式化第二實體抹除單元的所述字元線中的一第四字元線;以及在第四字元線被程式化之後,跳過第二實體抹除單元的所述字元線中與第四字元線相鄰的至少一第五字
元線而根據第一資料來程式化第二實體抹除單元的所述字元線中不與第四字元線相鄰的第六字元線。
在本發明的一範例實施例中,所述程式化方法更包括:在接收到所述第一寫入指令之後,接收至少一第二寫入指令;根據所述第二寫入指令從所述實體抹除單元中選擇第三實體抹除單元並且發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示執行第二跳躍程式化程序,其中第二跳躍程式化程序包括:跳過第三實體抹除單元的所述字元線中的第一字元線而根據對應於所述第二寫入指令的第二資料來程式化第三實體抹除單元的所述字元線中的第二字元線;以及在第二字元線被程式化之後,跳過第三實體抹除單元的所述字元線中的第三字元線而根據第二資料來程式化第三實體抹除單元的所述字元線中不與被程式化的第二字元線相鄰的第七字元線。
在本發明的一範例實施例中,所述程式化方法更包括:判斷可複寫式非揮發性記憶體模組的目前狀態是否符合至少一第一條件,其中第一跳躍寫入指令序列是在判定可複寫式非揮發性記憶體模組的目前狀態符合所述第一條件之後發送;以及若可複寫式非揮發性記憶體模組的目前狀態不符合第一條件,發送正常寫入指令序列,其中正常寫入指令序列指示執行正常程式化程序,其中正常程式化程序包括:根據第一資料來程式化第一字元線;以及在第一字元線被程式化之後,根據第一資料來程式化所述第二字元線。
在本發明的一範例實施例中,所述判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的步驟包括:判斷第一實體抹除單元的使用程度是否達到預設程度。
在本發明的一範例實施例中,所述判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的步驟包括:判斷可複寫式非揮發性記憶體模組是否已經經過高溫製程的處理。
在本發明的一範例實施例中,所述判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的步驟包括:判斷可複寫式非揮發性記憶體模組的第一儲存區的總可用大小是否小於第一資料的資料大小,其中第一儲存區的總可用空間的大小小於或等於第一儲存區的總儲存空間的大小的1/P,其中P為大於1的整數。
在本發明的一範例實施例中,所述程式化方法更包括:在接收到所述第一寫入指令之後,接收至少一第二寫入指令;判斷第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則;若第一跳躍程式化程序是使用第一跳躍規則,指示在對應於所述第二寫入指令的第二跳躍程式化程序中使用第二跳躍規則;以及若第一跳躍程式化程序是使用第二跳躍規則,則指示在第二跳躍程式化程序中使用第一跳躍規則。
在本發明的一範例實施例中,所述程式化方法更包括:將儲存於第一實體抹除單元中的第一資料複製到所述實體抹除單元中的一第四實體抹除單元。
本發明的一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,其中記憶體控制電路單元用以接收至少一第一寫入指令。其中記憶體控制電路單元更用以根據所述第一寫入指令從所述實體抹除單元中選擇第一實體抹除單元並且發送第一跳躍寫入指令序列,其中第一跳躍寫入指令序列指示執行第一跳躍程式化程序,其中第一跳躍程式化程序包括:根據對應於所述第一寫入指令的第一資料來程式化第一實體抹除單元的多條字元線中的第一字元線;以及在第一字元線被程式化之後,跳過第一實體抹除單元的所述字元線中與第一字元線相鄰的至少一第二字元線而根據第一資料來程式化第一實體抹除單元的所述字元線中不與第一字元線相鄰的第三字元線。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以判斷第一資料的資料大小是否超過第一實體抹除單元的可用大小,其中第一實體抹除單元的可用大小小於或等於第一實體抹除單元的總儲存空間的大小的1/P,且P是大於1的整數,其中若第一資料的資料大小超過第一實體抹除單元的可用大小,記憶體控制電路單元更用以從所述實體抹除單元中選擇一第二實體抹除單元,其中第一跳躍程式化程序更包括:根據第一資料來程式化第二實體抹除單元的所述字元線中的第四字元線;以及在第四
字元線被程式化之後,跳過第二實體抹除單元的所述字元線中與第四字元線相鄰的至少一第五字元線而根據第一資料來程式化第二實體抹除單元的所述字元線中不與第四字元線相鄰的第六字元線。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以在接收到所述第一寫入指令之後,接收至少一第二寫入指令,其中記憶體控制電路單元更用以根據所述第二寫入指令從所述實體抹除單元中選擇第三實體抹除單元並且發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示執行第二跳躍程式化程序,其中第二跳躍程式化程序包括:跳過第三實體抹除單元的所述字元線中的第一字元線而根據對應於所述第二寫入指令的第二資料來程式化第三實體抹除單元的所述字元線中的第二字元線;以及在第二字元線被程式化之後,跳過第三實體抹除單元的所述字元線中的第三字元線而根據第二資料來程式化第三實體抹除單元的所述字元線中不與被程式化的第二字元線相鄰的第七字元線。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以判斷可複寫式非揮發性記憶體模組的目前狀態是否符合至少一第一條件,其中第一跳躍寫入指令序列是在判定可複寫式非揮發性記憶體模組的目前狀態符合所述第一條件之後發送,其中若可複寫式非揮發性記憶體模組的目前狀態不符合第一條件,記憶體控制電路單元更用以發送正常寫入指令序列,其中正常寫入
指令序列指示執行正常程式化程序,其中正常程式化程序包括:根據第一資料來程式化第一字元線;以及在第一字元線被程式化之後,根據第一資料來程式化所述第二字元線。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷第一實體抹除單元的使用程度是否達到預設程度。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷可複寫式非揮發性記憶體模組是否已經經過高溫製程的處理。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷可複寫式非揮發性記憶體模組的第一儲存區的總可用大小是否小於第一資料的資料大小,其中第一儲存區的總可用空間的大小小於或等於第一儲存區的總儲存空間的大小的1/P,其中P為大於1的整數。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以在接收到所述第一寫入指令之後,接收至少一第二寫入指令,其中記憶體控制電路單元更用以判斷第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則,其中若第一跳躍程式化程序是使用第一跳躍規則,則記憶體控制電路單元更用以指示在對應
於所述第二寫入指令的第二跳躍程式化程序中使用第二跳躍規則,其中若第一跳躍程式化程序是使用第二跳躍規則,則記憶體控制電路單元更用以指示在第二跳躍程式化程序中使用第一跳躍規則。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以將儲存於第一實體抹除單元中的第一資料複製到所述實體抹除單元中的第四實體抹除單元。
本發明的一範例實施例提供一種記憶體控制電路單元,其用於控制可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組包括多個實體抹除單元,所述記憶體控制電路單元包括主機介面、記憶體介面及記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面,其中記憶體管理電路用以接收至少一第一寫入指令。其中記憶體管理電路更用以根據所述第一寫入指令從所述實體抹除單元中選擇一第一實體抹除單元並且發送一第一跳躍寫入指令序列,其中第一跳躍寫入指令序列指示執行一第一跳躍程式化程序,其中第一跳躍程式化程序包括:根據對應於所述第一寫入指令的第一資料來程式化第一實體抹除單元的多條字元線中的第一字元線;以及在第一字元線被程式化之後,跳過第一實體抹除單元的所述字元線中與第一字元線相鄰的至少一第二字元線而根據第一資料來程式化第一實體抹除單元的所述字元線中不與第一字元線相鄰的第三字元
線。
在本發明的一範例實施例中,所述第一實體抹除單元包括M+1條字元線,第一字元線是M+1條字元線中的第N條字元線,所述第二字元線是M+1條字元線中的第N+1條字元線,並且第三字元線是M+1條字元線中的第N+2條字元線,其中M與N是正整數。
在本發明的一範例實施例中,所述記憶體管理電路更用以判斷第一資料的資料大小是否超過第一實體抹除單元的可用大小,其中第一實體抹除單元的可用大小小於或等於第一實體抹除單元的總儲存空間的大小的1/P,且P是大於1的整數,其中若第一資料的資料大小超過第一實體抹除單元的可用大小,記憶體管理電路更用以從所述實體抹除單元中選擇第二實體抹除單元,其中第一跳躍程式化程序更包括:根據第一資料來程式化第二實體抹除單元的所述字元線中的第四字元線;以及在第四字元線被程式化之後,跳過第二實體抹除單元的所述字元線中與第四字元線相鄰的至少一第五字元線而根據第一資料來程式化第二實體抹除單元的所述字元線中不與第四字元線相鄰的第六字元線。
在本發明的一範例實施例中,所述記憶體管理電路更用以在接收到所述第一寫入指令之後,接收至少一第二寫入指令,其中記憶體管理電路更用以根據所述第二寫入指令從所述實體抹除單元中選擇第三實體抹除單元並且發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示執行第二跳躍程式化程序,
其中第二跳躍程式化程序包括:跳過第三實體抹除單元的所述字元線中的第一字元線而根據對應於所述第二寫入指令的第二資料來程式化第三實體抹除單元的所述字元線中的第二字元線;以及在第二字元線被程式化之後,跳過第三實體抹除單元的所述字元線中的第三字元線而根據第二資料來程式化第三實體抹除單元的所述字元線中不與被程式化的第二字元線相鄰的第七字元線。
在本發明的一範例實施例中,所述記憶體管理電路更用以判斷可複寫式非揮發性記憶體模組的目前狀態是否符合至少一第一條件,其中第一跳躍寫入指令序列是在判定可複寫式非揮發性記憶體模組的目前狀態符合所述第一條件之後發送,其中若可複寫式非揮發性記憶體模組的目前狀態不符合第一條件,記憶體管理電路更用以發送正常寫入指令序列,其中正常寫入指令序列指示執行正常程式化程序,其中正常程式化程序包括:根據第一資料來程式化第一字元線;以及在第一字元線被程式化之後,根據第一資料來程式化所述第二字元線。
在本發明的一範例實施例中,所述記憶體管理電路判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷第一實體抹除單元的使用程度是否達到預設程度。
在本發明的一範例實施例中,所述記憶體管理電路判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷可複寫式非揮發性記憶體模組是否已經經過高
溫製程的處理。
在本發明的一範例實施例中,所述記憶體管理電路判斷可複寫式非揮發性記憶體模組的目前狀態是否符合所述第一條件的操作包括:判斷可複寫式非揮發性記憶體模組的第一儲存區的總可用大小是否小於第一資料的資料大小,其中第一儲存區的總可用空間的大小小於或等於第一儲存區的總儲存空間的大小的1/P,其中P為大於1的整數。
在本發明的一範例實施例中,所述記憶體管理電路更用以在接收到所述第一寫入指令之後,接收至少一第二寫入指令,其中記憶體管理電路更用以判斷第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則,其中若第一跳躍程式化程序是使用第一跳躍規則,則記憶體管理電路更用以指示在對應於所述第二寫入指令的第二跳躍程式化程序中使用第二跳躍規則,其中若第一跳躍程式化程序是使用第二跳躍規則,則記憶體管理電路更用以指示在第二跳躍程式化程序中使用第一跳躍規則。
在本發明的一範例實施例中,所述可複寫式非揮發性記憶體模組包括第一儲存區與第二儲存區,第一跳躍程式化程序或第二跳躍程式化程序僅使用於第一儲存區。
在本發明的一範例實施例中,所述記憶體管理電路更用以將儲存於第一實體抹除單元中的第一資料複製到所述實體抹除單元中的第四實體抹除單元。
在本發明的一範例實施例中,所述第一實體抹除單元屬
於第一儲存區,第四實體抹除單元屬於第二儲存區,第一儲存區使用第二程式化模式,並且第二儲存區使用第一程式化模式。
在本發明的一範例實施例中,所述可複寫式非揮發性記憶體模組包括第一儲存區與第二儲存區,第一跳躍程式化程序或第二跳躍程式化程序僅使用於第二儲存區。
本發明的一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,其中記憶體控制電路單元使用所述實體抹除單元中的第一實體抹除單元的多條字元線中的第一字元線來儲存第一資料,其中在使用第一字元線之後,記憶體控制電路單元接續使用第一實體抹除單元的所述字元線中的第三字元線來儲存第一資料,其中第一字元線與第三字元線不相鄰。
在本發明的一範例實施例中,所述第一字元線與第三字元線之間包括被跳過的與第一字元線相鄰的至少一第二字元線。
基於上述,跳躍寫入指令序列是用以指示執行跳躍程式化程序。在跳躍程式化程序中,相鄰的字元線不會被用來儲存資料。藉此,可減少因程式化相鄰的字元線所產生的錯誤。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧電腦
122‧‧‧微處理器
124‧‧‧隨機存取記憶體
126‧‧‧系統匯流排
128‧‧‧資料傳輸介面
13‧‧‧輸入/輸出裝置
21‧‧‧滑鼠
22‧‧‧鍵盤
23‧‧‧顯示器
24‧‧‧印表機
25‧‧‧隨身碟
26‧‧‧記憶卡
27‧‧‧固態硬碟
31‧‧‧數位相機
32‧‧‧SD卡
33‧‧‧MMC卡
34‧‧‧記憶棒
35‧‧‧CF卡
36‧‧‧嵌入式儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶胞陣列
504‧‧‧字元線控制電路
506‧‧‧位元線控制電路
508‧‧‧行解碼器
510‧‧‧資料輸入/輸出緩衝器
512‧‧‧控制電路
602‧‧‧記憶胞
604‧‧‧位元線
606‧‧‧字元線
608‧‧‧共用源極線
612、614‧‧‧電晶體
702‧‧‧記憶體管理電路
704‧‧‧主機介面
706‧‧‧記憶體介面
708‧‧‧錯誤檢查與校正電路
710‧‧‧緩衝記憶體
712‧‧‧電源管理電路
801(0)~801(D)‧‧‧實體程式化單元
900(0)~900(C)‧‧‧實體抹除單元
810、820、830、840‧‧‧分布
901‧‧‧第一儲存區
902‧‧‧第二儲存區
903‧‧‧系統區
906(0)~906(M)、1006(0)~1006(M)、1106(0)~1106(M)、1206(0)~1206(M)、1306(0)~1306(M)、1406(0)~1406(M)‧‧‧字元線
S1601~S1602、S1701~S1707、S1801~S1805、S1901~S1905、S2001~S2005、S2101~S2112‧‧‧步驟
圖1是根據本發明之一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。
圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
圖8是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的示意圖。
圖9是根據本發明的一範例實施例所繪示的使用不同的第二程式化模式來程式化實體程式化單元的記憶胞的臨界電壓分布示意圖。
圖10是根據本發明的一範例實施例所繪示的管理可複寫式
非揮發性記憶體模組的範例示意圖。
圖11是根據本發明的一範例實施例所繪示的程式化的示意圖。
圖12是根據本發明的一範例實施例所繪示的程式化的示意圖。
圖13是根據本發明的一範例實施例所繪示的程式化的示意圖。
圖14與圖15是根據本發明的一範例實施例所繪示的程式化的示意圖。
圖16是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
圖17是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
圖18是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
圖19是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
圖20是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
圖21是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
請參照圖1,主機系統11一般包括電腦12與輸入/輸出(input/output,I/O)裝置13。電腦12包括微處理器122、隨機存取記憶體(random access memory,RAM)124、系統匯流排126與資料傳輸介面128。輸入/輸出裝置13包括如圖2的滑鼠21、鍵盤22、顯示器23與印表機24。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可更包括其他裝置。
在一範例實施例中,記憶體儲存裝置10是透過資料傳輸介面128與主機系統11的其他元件耦接。藉由微處理器122、隨機存取記憶體124與輸入/輸出裝置13的運作可將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。例如,記憶體儲存裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態硬碟(Solid State Drive,SSD)27等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據本發明的一範例實施例所繪示的主機系統與
記憶體儲存裝置的範例示意圖。
一般而言,主機系統11為可實質地與記憶體儲存裝置10配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統11是以電腦系統來作說明,然而,另一範例實施例中,主機系統11可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)31時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡32、MMC卡33、記憶棒(memory stick)34、CF卡35或嵌入式儲存裝置36(如圖3所示)。嵌入式儲存裝置36包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統11的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖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)標準、安全數位
(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404,並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的
記憶體模組。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
請參照圖5,可複寫式非揮發性記憶體模組406包括記憶胞陣列502、字元線控制電路504、位元線控制電路506、行解碼器(column decoder)508、資料輸入/輸出緩衝器510與控制電路512。
在本範例實施例中,記憶胞陣列502可包括用以儲存資料的多個記憶胞602、多個選擇閘汲極(select gate drain,SGD)電晶體612與多個選擇閘源極(select gate source,SGS)電晶體614、以及連接此些記憶胞的多條位元線604、多條字元線606、與共用源極線608(如圖6所示)。記憶胞602是以陣列方式(或立體堆疊的方式)配置在位元線604與字元線606的交叉點上。當從記憶體控制電路單元404接收到寫入指令或讀取指令時,控制電路512會控制字元線控制電路504、位元線控制電路506、行解碼器508、資料輸入/輸出緩衝器510來寫入資料至記憶胞陣列502或從記憶胞陣列502中讀取資料,其中字元線控制電路504用以控制施予至字元線606的電壓,位元線控制電路506用以控制施予至位元線604的電壓,行解碼器508依據指令中的列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器510用以暫存資料。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是
以臨界電壓的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,因而改變了記憶胞的臨界電壓。此改變臨界電壓的程序亦稱為”把資料寫入至記憶胞”或”程式化記憶胞”。隨著臨界電壓的改變,記憶胞陣列502的每一個記憶胞具有多個儲存狀態。並且透過讀取電壓可以判斷記憶胞是屬於哪一個儲存狀態,藉此取得記憶胞所儲存的一或多個位元。
圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖7,記憶體控制電路單元404包括記憶體管理電路702、主機介面704、記憶體介面706及錯誤檢查與校正電路708。
記憶體管理電路702用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路702具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路702的操作時,等同於說明記憶體控制電路單元404的操作,以下並不再贅述。
在本範例實施例中,記憶體管理電路702的控制指令是以韌體型式來實作。例如,記憶體管理電路702具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會
由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路702的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路702具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路702的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路702的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路702包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入單元用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除單元用以對可複寫式
非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
主機介面704是耦接至記憶體管理電路702並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面704來傳送至記憶體管理電路702。在本範例實施例中,主機介面704是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面704亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面706是耦接至記憶體管理電路702並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面706轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路702要存取可複寫式非揮發性記憶體模組406,記憶體介面706會傳送對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路708是耦接至記憶體管理電路702並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來
說,當記憶體管理電路702從主機系統11中接收到寫入指令時,錯誤檢查與校正電路708會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路702會將對應此寫入指令的資料與對應的錯誤更正碼或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路702從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼或錯誤檢查碼,並且錯誤檢查與校正電路708會依據此錯誤更正碼或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體710與電源管理電路712。緩衝記憶體710是耦接至記憶體管理電路702並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路712是耦接至記憶體管理電路702並且用以控制記憶體儲存裝置10的電源。
可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least
Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。在此範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,本發明並不限制實體扇的大小以及個數。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊。
圖8是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的示意圖。
請參照圖8,可複寫式非揮發性記憶體模組406包括實體程式化單元801(0)~801(D)。在一範例實施例中,一條字元線上的記憶胞可以組成一或多個實體程式化單元。例如,實體程式化單
元801(0)、實體程式化單元801(0)~801(1)或者實體程式化單元801(0)~801(2)可以是由可複寫式非揮發性記憶體模組406中同一條字元線上的記憶胞所組成。
可複寫式非揮發性記憶體模組406中的每一個實體程式化單元可以是以第一程式化模式或第二程式化模式來使用。例如,以第一程式化模式或第二程式化模式來使用一個實體程式化單元是指以第一程式化模式或第二程式化模式來程式化此實體程式化單元。此外,以第一程式化模式或第二程式化模式來使用一個實體抹除單元或者可複寫式非揮發性記憶體模組406則是指以第一程式化模式或第二程式化模式來程式化此實體抹除單元或者可複寫式非揮發性記憶體模組406中的一或多個實體程式化單元。
第一程式化模式亦稱為多層記憶胞模式。若是以第一程式化模式來使用可複寫式非揮發性記憶體模組406,則每一個記憶胞儲存有一第一數量的位元資料,其中此第一數量不小於2。例如,此第一數量為2或3。第二程式化模式包括單層記憶胞模式(SLC mode)、下實體程式化模式(lower physical programming unit programming mode)、混合程式化模式(mixture programming mode)及少層記憶胞模式的至少其中之一。若是以單層記憶胞模式來使用可複寫式非揮發性記憶體模組406,則每一個記憶胞只儲存一個位元資料。若是以下實體程式化模式來使用可複寫式非揮發性記憶體模組406,則可複寫式非揮發性記憶體模組406中只有屬於下實體程式化單元的實體程式化單元會被程式化,而下實體程式化
單元所對應的上實體程式化單元可以不被程式化。若是以混合程式化模式來使用可複寫式非揮發性記憶體模組406,則有效資料(或真實資料)會被程式化至屬於下實體程式化單元的實體程式化單元中,而不會被程式化至屬於上實體程式化單元的實體程式化單元中,但對應於有效資料(或真實資料)的無效資料(或虛擬資料)則會被程式化至屬於上實體程式化單元的實體程式化單元中。若是以少層記憶胞模式來使用可複寫式非揮發性記憶體模組406,則每一個記憶胞儲存有一第二數量的位元資料,其中此第二數量小於第一數量。例如,此第二數量為1或2。特別是,對於使用第二程式化模式中的不同模式的多個實體程式化單元來說,被程式化的記憶胞的臨界電壓分布可能會不相同。
圖9是根據本發明的一範例實施例所繪示的使用不同的第二程式化模式來程式化實體程式化單元的記憶胞的臨界電壓分布示意圖。
請參照圖9,若以第二程式化模式中的下實體程式化模式來程式化一條字元線的多個記憶胞,則此些記憶胞的臨界電壓分布類似於分布810與820。其中,分布810例如是表示此字元線儲存位元“0”的記憶胞的個數,並且分布820例如是表示此字元線儲存位元“1”的記憶胞的個數。另一方面,若以第二程式化模式中的單層記憶胞模式來程式化另一條字元線的多個記憶胞,則此些記憶胞的臨界電壓分布類似於分布830與840。其中,分布830例如是表示此字元線儲存位元“0”的記憶胞的個數,並且分布840例如
是表示此字元線儲存位元“1”的記憶胞的個數。相對於使用下實體程式化模式,在使用單層記憶胞模式的記憶胞的臨界電壓分布中,對應於不同位元值的分布較為分開。例如,如圖8所示,分布810與820較為靠近,分布830與840較為分開。
圖10是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的範例示意圖。必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“選擇”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖10,在本範例實施例中,記憶體管理電路702會將可複寫式非揮發性記憶體模組406的實體抹除單元900(0)~900(C)邏輯地劃分為多個區域,例如為第一儲存區901、第二儲存區902及系統區903。其中,每一個實體抹除單元900(0)~900(C)包括多個實體程式化單元。
第一儲存區901與第二儲存區902的實體抹除單元是用以儲存來自主機系統11的資料。第一儲存區901與第二儲存區902中會儲存有效資料與無效資料。例如,當主機系統要刪除一份有效資料時,被刪除的資料可能還是儲存在第二儲存區902中,但會被標記為無效資料。沒有儲存有效資料的實體抹除單元亦被稱為閒置(spare)實體抹除單元。例如,被抹除以後的實體抹除單元
便會成為閒置實體抹除單元。若第一儲存區901、第二儲存區902或系統區903中有實體抹除單元損壞時,第一儲存區901或第二儲存區902中的實體抹除單元也可以用來替換損壞的實體抹除單元。倘若第一儲存區901及/或第二儲存區902中沒有可用的實體抹除單元來替換損壞的實體抹除單元時,則記憶體管理電路702會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。此外,有儲存有效資料的實體抹除單元亦被稱為非閒置(non-spare)實體抹除單元。
系統區903的實體抹除單元是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
第一儲存區901、第二儲存區902及系統區903的實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至第一儲存區901、第二儲存區902與系統區903的分組關係會動態地變動。例如,當系統區903中的實體抹除單元損壞而被第二儲存區902的實體抹除單元取代時,則原本在第二儲存區902的實體抹除單元會被關聯至系統區903。
在本範例實施例中,第一儲存區901用以暫存來自主機系統11的資料。例如,第一儲存區901亦可稱為暫存區或緩衝區。當可複寫式非揮發性記憶體模組406接收到來自記憶體控制電路單元404的一筆資料時,此資料會先被暫存在第一儲存區901的
一或多個實體抹除單元中。爾後,暫存在第一儲存區901中的資料會被複製到第二儲存區902的一或多個實體抹除單元中。在第一儲存區901中的某一個實體抹除單元中的資料都被複製到第二儲存區902的實體抹除單元之後,此第一儲存區901中的實體抹除單元會被抹除。然而,在另一範例實施例中,記憶體管理電路702可能不會配置第一儲存區901,或者第一儲存區901可能會被配置於緩衝記憶體710中。
在本範例實施例中,第二程式化模式僅使用於第一儲存區901。例如,第一儲存區901中的實體抹除單元900(0)~900(A)皆是以第二程式化模式來使用(例如,寫入資料),而第二儲存區902中的實體抹除單元900(A+1)~900(B)則是以第一程式化模式來使用(例如,寫入資料)。藉此,即使第二儲存區902的資料寫入速度較慢,資料也可以快速地先被暫存到第一儲存區901中,從而提升整體的資料寫入速度。在另一範例實施例中,第二程式化模式僅使用於第二儲存區902。例如,第一儲存區901中的實體抹除單元900(0)~900(A)皆是以第一程式化模式來使用(例如,寫入資料),而第二儲存區902中的實體抹除單元900(A+1)~900(B)則是以第二程式化模式來使用(例如,寫入資料)。此外,在另一範例實施例中,第二程式化模式亦可同時使用於第一儲存區901與第二儲存區902。或者,在另一範例實施例中,第一程式化模式亦可同時使用於第一儲存區901與第二儲存區902。第一程式化模式與第二程式化模式的其中之一也會使用於系統區903。此外,記憶體管
理電路702例如是根據一或多個邏輯-實體映射表(logical to physical mapping table)來執行對於記憶體儲存裝置10的資料存取。
一般來說,第一儲存區901中的實體抹除單元900(0)~900(A)的使用程度(或稱為損耗程度)相對於第二儲存區902中的實體抹除單元900(A+1)~900(B)的使用程度是較高的。例如,假設第一儲存區901中的實體抹除單元900(0)~900(A)都是以第二程式化模式來使用(例如,1個記憶胞儲存1個位元)且第二儲存區902中的實體抹除單元900(A+1)~900(B)都是以第一程式化模式來使用(例如,1個記憶胞儲存3個位元),則對於可寫滿第二儲存區902中的一個實體抹除單元(例如,實體抹除單元900(0))的一筆資料來說,為了暫存此資料可能會使用到第一儲存區901中的多個實體抹除單元(例如,實體抹除單元900(A+1)、900(A+2)及900(A+3))。
一個實體抹除單元的使用程度與此實體抹除單元的抹除次數(erasing count)、寫入次數(writing count)、讀取次數(read count)及資料儲存時間(data storing duration)的至少其中之一有關,且不限於此。例如,一個實體抹除單元的使用程度亦可能與實體抹除單元所儲存的資料類型、材質、環境溫度等因素有關。在本範例實施例中,例如是以一個實體抹除單元的抹除次數來表示此實體抹除單元的使用程度。然而,在另一範例實施例中,一個實體抹除單元的使用程度也可以是以上述任一個與此實體抹除單元的使
用程度有關的參數來表示或者是對這些參數的至少其中之一進行邏輯運算來取得。此外,在一範例實施例中,第一儲存區901中的每一個實體抹除單元900(0)~900(A)的使用程度也可以是以實體抹除單元900(0)~900(A)的使用程度的平均值、加權平均值或者中位數(median)等來表示。
若一個實體抹除單元的使用程度越高,則此實體抹除單元的可靠度(reliability)可能會下降並且此實體抹除單元的位元錯誤率(bit error rate,BER)可能會上升。特別是,在程式化記憶胞時,若是依序程式化實體抹除單元上的每一條字元線,則對於此實體抹除單元中相鄰的字元線的程式化可能會彼此干擾。例如,可將此干擾稱為胞對胞干擾(cell to cell interference)。特別是,對於一個使用程度很高的實體抹除單元來說,程式化時所產生的胞對胞干擾的嚴重程度可能會成為影響儲存在此實體抹除單元中的資料是否可以被成功的解碼的關鍵。例如,假設儲存在一個實體抹除單元的一條字元線上的資料至少包括8個錯誤位元,則在加上胞對胞干擾之後,此資料所包括的錯誤位元可能會增加為至少13個。此時,若錯誤檢查與校正電路708可更正的錯誤位元的數目是最多12個,則此資料中的錯誤位元可能無法被更正。反之,若可有效降低此胞對胞干擾,則即使此資料中還具有另外的4個錯誤位元(8+4=12),此資料仍然可以被錯誤檢查與校正電路708成功地解碼。或者,即使胞對胞干擾與某一筆資料可否被正確地解碼無關,降低一個實體抹除單元中的胞對胞干擾也可降低此實體抹
除單元的位元錯誤率。
在本範例實施例中,記憶體管理電路702會接收來自主機系統11的一或多個寫入指令(亦稱為第一寫入指令)。其中,此一或多個寫入指令指示將一或多筆資料(統稱為第一資料)寫入至可複寫式非揮發性記憶體模組406。第一資料可以包括連續資料及/或不連續資料。連續資料可以是屬於來自主機系統11的同一個寫入指令,而不連續資料可以是屬於來自主機系統11的多個寫入指令,本發明不加以限制。根據此第一寫入指令,記憶體管理電路702會從第一儲存區901中選擇一個實體抹除單元(亦稱為第一實體抹除單元)並且發送一跳躍寫入指令序列(亦稱為第一跳躍寫入指令序列)至可複寫式非揮發性記憶體模組406。此第一跳躍寫入指令序列包括一或多個指令碼或程式碼。此第一跳躍寫入指令序列會指示可複寫式非揮發性記憶體模組406執行一跳躍程式化程序(亦稱為第一跳躍程式化程序)。在第一跳躍程式化程序中,根據第一資料,第一實體抹除單元的多條字元線的其中之一(亦稱為第一字元線)會先被程式化;然後,第一實體抹除單元中與第一字元線相鄰的字元線(亦稱為第二字元線)會被跳過,並且根據第一資料,第一實體抹除單元中與第一字元線不相鄰的另一字元線(亦稱為第三字元線)會被程式化,以此類推。也就是說,在第一跳躍程式化程序中,可複寫式非揮發性記憶體模組406會以跳過彼此相鄰的字元線的方式來程式化所選擇的第一實體抹除單元。藉此,可有效降低第一實體抹除單元中的胞對胞干擾。
圖11是根據本發明的一範例實施例所繪示的程式化的示意圖。在以下的範例實施例中,已經被程式化的字元線會以斜線來表示。
請參照圖11,假設實體抹除單元900(0)被選擇且實體抹除單元900(0)包括字元線906(0)~906(M)。字元線906(0)~906(M)依序排列並且編號相差“1”的字元線彼此相鄰。例如,字元線906(0)與字元線906(1)相鄰,字元線906(1)與字元線906(2)相鄰,字元線906(3)與字元線906(2)相鄰,以此類推。在第一跳躍程式化程序中,字元線906(0)~906(M)中彼此不相鄰的多條字元線會被程式化以儲存第一資料。被程式化的字元線的數目視第一資料的資料大小而定。例如,在本範例實施例中,若暫存第一資料需要使用到(M+1)/2條字元線且實體抹除單元900(0)已先被抹除,則字元線906(0)會先被程式化;然後,跳過與字元線906(0)相鄰的字元線906(1),與字元線906(0)不相鄰的字元線906(2)會接續被程式化;然後,字元線906(3)、906(5)...906(M-2)及906(M)會依序地被跳過,並且字元線906(4)、906(6)...906(M-3)及906(M-1)會依序地被程式化。也就是說,在本範例實施例中,第一資料的一部分(或第一資料中的一筆資料)會被程式化至字元線906(0)上的記憶胞,並且在跳過與字元線906(0)相鄰的字元線906(1)之後,第一資料的另一部份(或第一資料中的另一筆資料)會被程式化至字元線906(2)上的記憶胞;然後,跳過字元線906(3),第一資料的其他部份(或第一資料中尚未被儲存的資料)會被依序地程式化至實體抹除單
元900(0)中彼此不相鄰的字元線。
值得一提的是,在第一跳躍程式化程序中,被程式化的一或多條字元線可以是用以儲存來自主機系統11的同一個或不同的寫入指令所對應的資料。例如,在一範例實施例中,若主機系統11只發送一個寫入指令,則在對應的第一跳躍程式化程序中,可能只有第一字元線被程式化即足以儲存對應此寫入指令的資料;或者,多條字元線也可能被程式化以完整地儲存對應此寫入指令的資料。然而,在另一範例實施例中,若主機系統11接續發送了一或多個寫入指令,則在對應的第一跳躍程式化程序中,此一或多個寫入指令所對應的資料會被嘗試程式化至第一字元線,並且在第一字元線上的記憶胞被寫滿之後,其他彼此不相鄰的字元線也會被程式化以儲存尚未被寫入的資料。;從另一角度來看,在圖11的範例實施例中,假設先被程式化的是字元線906(0)~906(M)中的第N條字元線,則在此第N條字元線被程式化之後,字元線906(0)~906(M)中的第N+1條字元線會被跳過並且字元線906(0)~906(M)中的第N+2條字元線會被程式化;在字元線906(0)~906(M)中的第N+2條字元線被程式化之後,字元線906(0)~906(M)中的第N+3條字元線會被跳過並且字元線906(0)~906(M)中的第N+4條字元線會被程式化,以此類推。
值得一提的是,圖11的範例實施例是假設第一資料的資料大小等於或小於(M+1)/2條字元線上的記憶胞的總儲存空間的大小,然而,在另一範例實施例中,第一資料的資料大小也可以
是更大或更小。例如,在圖11的另一範例實施例中,若第一資料只需要3條字元線上的記憶胞就足以儲存,則在第一跳躍程式化程序中可能只有3條彼此不相鄰的字元線會被程式化。其中,此3條彼此不相鄰的字元線可以是依照預設規則來選擇的(例如,字元線906(0)、906(2)及906(4))或者是隨機選擇的(例如,字元線906(0)、906(4)及906(32))。此外,第一跳躍程式化程序也可能不是從字元線906(0)開始程式化。例如,在圖11的另一範例實施例中,也可以是從字元線906(2)開始程式化,並且依序程式化字元線906(4)與字元線906(6)。或者,在圖11的另一範例實施例中,也可以是跳過字元線906(0)而從字元線906(1)開始程式化,依序跳過字元線906(2)與字元線906(4),並且依序程式化字元線906(3)與字元線906(5)等等。
在本範例實施例中,記憶體管理電路702還會判斷第一資料的資料大小是否超過第一實體抹除單元的可用大小。在一範例實施例中,第一實體抹除單元的可用大小是等於第一實體抹除單元的一總儲存空間的大小的1/P,其中P是大於1的整數。例如,若在寫入第一資料之前第一實體抹除單元已先被抹除且預設是以相同或相似於圖11的範例實施例的跳躍規則來程式化第一實體抹除單元,則此第一實體抹除單元的可用大小等於第一實體抹除單元的總儲存空間的大小的1/2(即,P=2)。此外,在圖11的另一範例實施例中,若在寫入第一資料之前字元線906(0)、906(2)及906(4)已被程式化且實體抹除單元900(0)沒有被抹除,則在此情況下,
對於第一資料的程式化可以從字元線906(6)開始並且此第一實體抹除單元的可用大小是字元線906(0)~906(M)中除了字元線906(0)、906(2)及906(4)以外預設可用的字元線(即,字元線906(6)、906(8)...906(M-3)及906(M-1)等)上的記憶胞的總儲存空間。也就是說,此時第一實體抹除單元的可用大小是小於第一實體抹除單元的總儲存空間的大小的1/P。
若第一資料的資料大小不超過第一實體抹除單元的可用大小,記憶體管理電路702不需要選擇額外的實體抹除單元來協助儲存第一資料。若第一資料的資料大小超過第一實體抹除單元的可用大小,則記憶體管理電路702會從第一儲存區901中選擇額外的一或多個實體抹除單元(亦稱為第二實體抹除單元)。第二實體抹除單元的數目視欲儲存之資料的大小而定。藉此,在第一跳躍程式化程序中,可複寫式非揮發性記憶體模組406會以跳過彼此相鄰的字元線的方式來程式化所選擇的第一實體抹除單元與第二實體抹除單元。例如,在第一跳躍程式化程序中,第一資料的另一部份(或第一資料中的另一筆資料)會被程式化至第二實體抹除單元的多條字元線的其中之一(亦稱為第四字元線);在第四字元線被程式化之後,第二實體抹除單元中與第四字元線相鄰的字元線(亦稱為第五字元線)會被跳過,並且第一資料的另一部份(或第一資料中的另一筆資料)會被程式化至第二實體抹除單元中不與第四字元線相鄰的另一字元線(亦稱為第六字元線),以此類推。
圖12是根據本發明的一範例實施例所繪示的程式化的示
意圖。
請參照圖12,假設實體抹除單元900(0)~900(5)已被抹除、第一資料的資料大小大於實體抹除單元900(0)的可用大小且第一資料的資料大小等於或小於6個實體抹除單元的可用大小之總和,則記憶體管理電路702可從第一儲存區901中選擇實體抹除單元900(0)~900(5)。藉此,在第一跳躍程式化程序中,實體抹除單元900(0)~900(5)會被程式化以完整地儲存第一資料。例如,假設每一個實體抹除單元900(0)~900(5)被程式化的方式皆相同或相似於圖11的範例實施例,在此以實體抹除單元900(1)作為範例。例如,在字元線906(M-1)被程式化之後,第一資料中尚未被儲存的部分會被程式化至字元線1006(0);然後,與字元線1006(0)相鄰的字元線1006(1)會被跳過,並且第一資料中尚未被儲存的部分會被程式化至不與字元線1006(0)相鄰的字元線1006(2),以此類推;實體抹除單元900(0)~900(5)中彼此不相鄰的字元線會依序地被程式化,直到第一資料被完整地儲存為止。
此外,在一範例實施例中,不同的實體抹除單元及/或不同的記憶體平面(plane)中的字元線亦可以被同時地程式化。例如,假設實體抹除單元900(0)~900(5)是從不同的記憶體平面選出,第一資料會同時被程式化至字元線906(0)、字元線1006(0)、字元線1106(0)、字元線1206(0)、字元線1306(0)及字元線1406(0);然後,與字元線906(0)、字元線1006(0)、字元線1106(0)、字元線1206(0)、字元線1306(0)及字元線1406(0)相鄰的字元線906(1)、
字元線1006(1)、字元線1106(1)、字元線1206(1)、字元線1306(1)及字元線1406(1)會被跳過,並且第一資料中尚未被儲存的部分會被程式化至不與字元線906(0)、字元線1006(0)、字元線1106(0)、字元線1206(0)、字元線1306(0)及字元線1406(0)相鄰的字元線906(2)、字元線1006(2)、字元線1106(2)、字元線1206(2)、字元線1306(2)及字元線1406(2),以此類推。此外,若第一資料的資料大小是更大或更小,則更多或更少的實體抹除單元可以被選擇來儲存第一資料。此外,在圖12的另一範例實施例中,對應於不同的實體抹除單元的跳躍規則也可能不同。例如,根據第一資料,實體抹除單元900(0)的奇數條字元線會被程式化,而實體抹除單元900(1)的偶數條字元線會被程式化等等。
在將第一資料儲存至從第一儲存區901中選擇的一或多個實體抹除單元之後,儲存在第一儲存區901的第一資料會被複製到第二儲存區902中的一或多個實體抹除單元。例如,在圖12的範例實施例中,假設實體抹除單元900(0)~900(5)都是以第二程式化模式來使用(例如,1個記憶胞儲存1個位元)且實體抹除單元900(A+1)是以第一程式化模式來使用(例如,1個記憶胞儲存3個位元),則儲存在實體抹除單元900(0)~900(5)中的第一資料可被複製到實體抹除單元900(A+1)中。其中,實體抹除單元900(A+1)亦稱為第四實體抹除單元。藉此,相對於傳統的作法,複製到實體抹除單元900(A+1)的第一資料中因胞對胞干擾所產生的錯誤可被減少。在將第一資料完整地從第一儲存區901複製到第二儲存區
902之後,第一儲存區901中用來暫存第一資料的實體抹除單元會被抹除。
在一範例實施例中,在接收到上述第一寫入指令之後,記憶體管理電路702還可接收來自主機系統11的另一或多個寫入指令(亦稱為第二寫入指令)。其中,此第二寫入指令指示將一第二資料寫入至可複寫式非揮發性記憶體模組406。類似於第一資料,第二資料也可以包括連續資料及/或不連續資料,在此便不贅述。根據此第二寫入指令,記憶體管理電路702會從第一儲存區901中選擇一或多個實體抹除單元並且發送另一跳躍寫入指令序列(亦稱為第二跳躍寫入指令序列)至可複寫式非揮發性記憶體模組406。此第二跳躍寫入指令序列包括一或多個指令碼或程式碼。此第二跳躍寫入指令序列會指示可複寫式非揮發性記憶體模組406執行另一跳躍程式化程序(亦稱為第二跳躍程式化程序)。
在本範例實施例中,根據此第二寫入指令,記憶體管理電路702可以從第一儲存區901中任意選擇可用的實體抹除單元(亦稱為第三實體抹除單元)來儲存第二資料。第二資料的儲存方式可參考上述關於第一資料的儲存方式。其中,第三實體抹除單元可以包括上述第一實體抹除單元或者第一儲存區901中其他的實體抹除單元。例如,在將第一實體抹除單元抹除之後,根據此第二寫入指令,記憶體管理電路702可再次從第一儲存區901中選擇上述第一實體抹除單元來暫存第二資料。若記憶體管理電路702選擇第一實體抹除單元來暫存第二資料,則在第二跳躍程式化程
序中,可複寫式非揮發性記憶體模組406會選擇程式化第一實體抹除單元中在前一次的跳躍程式化程序中沒有被程式化的字元線。例如,在一範例實施例中,在接收到此第二寫入指令之後,記憶體管理電路702會判斷第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則並且根據第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則來發送第二跳躍程式化指令序列。第一跳躍規則與第二跳躍規則例如是以被程式化的字元線屬於偶數條的字元線或奇數條的字元線來區別。例如,在圖11與圖12的範例實施例中,由於被程式化的字元線都是屬於偶數條的字元線(例如,字元線906(0)、906(2)、906(4)...906(M-3)、906(M-1)),因此表示圖11與圖12的範例實施例中第一跳躍程式化程序是使用第一跳躍規則,並且此時記憶體管理電路702會指示根據第二跳躍規則來將第二資料程式化至第一實體抹除單元中屬於奇數條的字元線(例如,字元線906(1)、906(3)、906(5)...906(M-2)、906(M))。或者,在另一範例實施例中,若前一次對於第一實體抹除單元的跳躍程式化程序是程式化屬於奇數條的字元線,則表示前一次對於第一實體抹除單元的跳躍程式化程序是使用第二跳躍規則,因此在下一次對於第一實體抹除單元的跳躍程式化程序中,記憶體管理電路702會指示根據第一跳躍規則來將第二資料程式化至第一實體抹除單元中屬於偶數條的字元線。此外,在另一範例實施例中,記憶體管理電路702亦可以任意地使用第一跳躍規則或第二跳躍規則來程式化第一實體抹除單元並且可以不執行上述判斷
第一跳躍程式化程序是使用第一跳躍規則或第二跳躍規則的操作。例如,對於同一個實體抹除單元的連續兩次跳躍程式化程序都是使用相同的跳躍規則(例如,第一跳躍規則)。或者,在另一範例實施例中,第一跳躍規則與第二跳躍規則也可以是依據任意的字元線選擇規則來進行設定。
圖13是根據本發明的一範例實施例所繪示的程式化的示意圖。
請參照圖13,接續於圖11或圖12的範例實施例,在實體抹除單元900(0)被抹除之後,若實體抹除單元900(0)被選擇來暫存第二資料且暫存第二資料需要使用到(M+1)/2條字元線,則在第二跳躍程式化程序中,字元線906(0)~906(M)中彼此不相鄰的多條字元線會被程式化以儲存第二資料。例如,根據第二跳躍規則,字元線906(0)會被跳過,並且字元線906(1)會被程式化;然後,字元線906(2)會被跳過,並且字元線906(3)會被程式化;然後,字元線906(4)、906(6)...906(M-3)及906(M-1)會依序地被跳過,並且字元線906(5)、906(7)...906(M-2)及906(M)會依序地被程式化。在另一範例實施例中,因第二資料的資料大小太大而需要以第一儲存區901中的多個實體抹除單元來儲存第二資料的操作可參照圖12的範例實施例類推即可得知。例如,在圖12的另一範例實施例中,在將實體抹除單元900(0)~900(5)抹除之後,可根據第二資料來程式化實體抹除單元900(0)~900(5)中在第一跳躍程式化程序中沒有被程式化且彼此不相鄰的字元線(即,圖12中沒有斜線
的區域)。爾後,暫存於第一儲存區901中的第二資料會被複製到第二儲存區902中的一或多個實體抹除單元。此外,在本範例實施例中,字元線906(3)可稱為第七字元線。
值得一提的是,雖然上述範例實施例是以第一實體抹除單元作為第三實體抹除單元的範例,然而,在另一範例實施例中,亦可以選擇其他的實體抹除單元作為第三實體抹除單元,並且可依照圖13的範例實施例所介紹的方式來將第二資料寫入至第三實體抹除單元。也就是說,在圖13的另一範例實施例中,假設字元線906(0)~906(M)是任意的第三實體抹除單元的多條字元線,則在第二跳躍程式化程序中,可根據第二資料來程式化彼此不相鄰的字元線(例如,字元線906(1)、906(3)、906(5)...906(M-3)及906(M-1)),並且與已被程式化的字元線相鄰的字元線(例如,字元線906(0)、906(2)、906(4)...906(M-2)及906(M))會被跳過。
在圖11至圖13的範例實施例中,在一個實體抹除單元中,連續被程式化且彼此不相鄰的兩條字元線中間是存在一條被跳過的字元線。然而,在另一範例實施例中,更多被跳過的字元線也可以存在連續被程式化的兩條彼此不相鄰的字元線中間。亦即,上述第二字元線及/或第五字元線的數目可以是大於1。
圖14與圖15是根據本發明的一範例實施例所繪示的程式化的示意圖。
請參照圖14,在執行第一跳躍程式化程序時,字元線906(0)會被程式化;然後,字元線906(1)~906(3)會被跳過且字元
線906(4)會被程式化;然後,字元線906(5)~906(7)會被跳過且字元線906(8)會被程式化,以此類推。請參照圖15,在將實體抹除單元900(0)抹除之後,在執行第二跳躍程式化程序時,字元線906(0)會被跳過且字元線906(1)會被程式化;然後,字元線906(2)~906(4)會被跳過且字元線906(5)會被程式化;然後,字元線906(6)~906(8)會被跳過且字元線906(9)會被程式化,以此類推。然而,本發明並不以此為限,在另一範例實施例中,連續被程式化的兩條彼此不相鄰的字元線之間,也可以存在2條、4條或者更多的字元線。
在上述範例實施例中,預設都是以跳躍程式化程序來程式化第一儲存區901中的每一個實體抹除單元900(0)~900(A)的字元線。然而,在另一範例實施例中,亦可以是在特定的條件被達成時,才會改為使用跳躍程式化程序來程式化某一個或多個實體抹除單元的字元線。例如,記憶體管理電路702會判斷可複寫式非揮發性記憶體模組406的狀態(亦稱為目前狀態)是否符合一或多個條件(亦稱為第一條件)。若可複寫式非揮發性記憶體模組406的目前狀態符合此第一條件,記憶體管理電路702會發送上述第一跳躍寫入指令序列或第二跳躍寫入指令序列。若可複寫式非揮發性記憶體模組406的目前狀態不符合第一條件,記憶體管理電路702則是會發送一正常寫入指令序列。其中此正常寫入指令序列指示可複寫式非揮發性記憶體模組406執行正常程式化程序。在正常程式化程序中,相鄰的字元線可被程式化來儲存資料。例如,在圖11的另一範例實施例中,若可複寫式非揮發性記憶體模
組406是執行正常程式化程序,則根據第一資料,字元線906(0)會先被程式化;在字元線906(0)被程式化之後,字元線906(1)會被程式化;在字元線906(1)被程式化之後,字元線906(2)也可被程式化,以此類推。也就是說,在正常程式化程序中,若一個實體抹除單元的所有或部分彼此相鄰的字元線都是可用的,則此些字元線的任一都不會被跳過。此外,上述判斷可複寫式非揮發性記憶體模組406的目前狀態是否符合第一條件的操作可以是在接收到寫入指令(例如,第一寫入指令或第二寫入指令)之後即時地執行。或者,上述判斷可複寫式非揮發性記憶體模組406的目前狀態是否符合第一條件的操作也可以是指查詢一查找表。例如,在一範例實施例中,判斷可複寫式非揮發性記憶體模組406的目前狀態是否符合第一條件的操作可以是預先執行並且將判斷結果記錄於一查找表中。藉此,在接收到寫入指令(例如,第一寫入指令或第二寫入指令)之後,可即時根據此查找表得知此判斷結果。
在一範例實施例中,記憶體管理電路702可判斷第一實體抹除單元的使用程度是否達到預設程度。關於如何評估一個實體抹除單元的使用程度已詳述於上,在此不重複贅述。若第一實體抹除單元的使用程度已達到預設程度,例如,第一實體抹除單元的抹除次數達到2萬次,則記憶體管理電路702可判定可複寫式非揮發性記憶體模組406的目前狀態符合第一條件。若該第一實體抹除單元的使用程度沒有達到此預設程度,例如,第一實體抹除單元的抹除次數沒有達到2萬次,則記憶體管理電路702可
判定可複寫式非揮發性記憶體模組406的目前狀態不符合此第一條件。此外,在一範例實施例中,記憶體管理電路702可統計第一實體抹除單元中屬於特定類型的錯誤之數目。若第一實體抹除單元中屬於特定類型的錯誤超過一預設數目,亦可判定為第一實體抹除單元的使用程度已達到預設程度。例如,此屬於特定類型的錯誤包括一高信賴度錯誤(high reliability error)。此高信賴度錯誤的特徵在於其對應的對數可能性比值(Log Likelihood Ratio,LLR)的值(或絕對值)通常超過一預設值。此外,記憶體管理電路702也可以在第一實體抹除單元中的錯誤超過另一預設數目之後判定第一實體抹除單元的使用程度已達到預設程度。
在一範例實施例中,記憶體管理電路702可以判斷記憶體儲存裝置10或可複寫式非揮發性記憶體模組406是否已經經過一高溫製程。在高溫製程中,記憶胞的儲存狀態可能會改變。例如,此高溫製程可以是指過錫爐。特別是,對於嵌入式多媒體卡的製程來說,此高溫製程更為重要。若記憶體儲存裝置10或可複寫式非揮發性記憶體模組406已經經過此高溫製程,記憶體管理電路702可判定可複寫式非揮發性記憶體模組406的目前狀態符合第一條件。若記憶體儲存裝置10或可複寫式非揮發性記憶體模組406尚未經過此高溫製程,記憶體管理電路702可判定可複寫式非揮發性記憶體模組406的目前狀態不符合此第一條件。此外,在另一範例實施例中,上述高溫製程亦可以包括記憶體儲存裝置10或可複寫式非揮發性記憶體模組406的其他製程階段或以記憶
體儲存裝置10或可複寫式非揮發性記憶體模組406的任一製程階段取代。
在一範例實施例中,記憶體管理電路702可以判斷第一儲存區901的總可用大小是否小於一或多個寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組406的資料的資料大小。在本範例實施例中,第一儲存區901的總可用大小等於第一儲存區901的一總儲存空間的大小的1/P。其中,P是大於1的正整數,並且P的值與所使用的跳躍規則有關。例如,在圖11至圖13的範例實施例中,每一次被跳過的字元線的數目是“1”,因此P的值是2。也就是說,在圖11至圖13的範例實施例中,以實體抹除單元900(0)為例,由於實體抹除單元900(0)中可以被程式化的記憶胞只剩下實體抹除單元900(0)中所有的記憶胞的一半。因此,若是依照圖11或圖12的範例實施例所使用的跳躍規則來程式化第一儲存區901中的每一個實體抹除單元900(0)~900(A),則每一次暫存在第一儲存區901中的資料的資料大小不能超過第一儲存區901的總儲存空間的大小的1/2。此外,在圖14與圖15的範例實施例中,每一次被跳過的字元線的數目是“3”,因此P的值是4。也就是說,若是以圖14與圖15的範例實施例所使用的跳躍規則來程式化第一儲存區901中的每一個實體抹除單元900(0)~900(A),則每一次暫存在第一儲存區901中的資料的資料大小不能超過第一儲存區901的總儲存空間的大小的1/4。若第一儲存區901的總可用大小小於此一或多個寫入指令所指示需要寫
入至可複寫式非揮發性記憶體模組406的資料的資料大小,記憶體管理電路702可判定可複寫式非揮發性記憶體模組406的目前狀態不符合第一條件。若第一儲存區901的總可用大小不小於此一或多個寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組406的資料的資料大小,則記憶體管理電路702可判定可複寫式非揮發性記憶體模組406的目前狀態符合此第一條件。此外,在另一範例實施例中,在寫入目前的資料之前若第一儲存區901中已經有儲存其他資料,則第一儲存區901的總可用大小會小於第一儲存區901的總儲存空間的大小的1/P。
此外,上述各種用以判斷可複寫式非揮發性記憶體模組406的目前狀態是否符合各種第一條件的判斷操作可以選擇兩個合併使用、全部合併使用或者單獨使用。例如,在一範例實施例中,只有在判定第一實體抹除單元的使用程度已達到預設程度、記憶體儲存裝置10或可複寫式非揮發性記憶體模組406已經經過高溫製程且第一儲存區901的總可用大小不小於寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組406的資料的資料大小之後,記憶體管理電路702才會判定可複寫式非揮發性記憶體模組406的目前狀態符合第一條件並且發送跳躍寫入指令序列。
值得一提的是,雖然上述各範例實施例都是以第一儲存區901中的實體抹除單元作為執行跳躍程式化程序的範例,然而,在另一範例實施例中,第二儲存區902及/或系統區903中的一或多個實體抹除單元也可以被執行上述跳躍程式化程序。或者,上
述各範例實施例中提及的操作亦可以被應用於對於第二儲存區902及/或系統區903的程式化操作。此外,在一範例實施例中,所執行的跳躍程式化程序中所跳過的字元線的選擇與來自主機系統11的寫入指令無關。例如,對於需要跳過或需要被程式化的字元線的選擇可能只與前一次執行的跳躍程式化程序有關。此外,在一範例實施例中,上述跳躍程式化程序與正常程式化程序是由可複寫式非揮發性記憶體模組406中的控制電路(例如,圖5中的控制電路512)執行。
圖16是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
請參照圖16,在步驟S1601中,接收第一寫入指令。在步驟S1602中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元並且發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第一跳躍程式化程序。
圖17是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
請參照圖17,在步驟S1701中,接收第一寫入指令。在步驟S1702中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元並且發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第一跳躍程式化程序。在步驟S1703中,接收第二寫入指令。在步驟S1704中,根據第二寫入指令選擇第三實體抹除單元。此第三實體抹除單元可以是與第一實體抹除單
元相同的實體抹除單元也可以是與第一實體抹除單元不相同的實體抹除單元。在步驟S1705中,判斷對於第三實體抹除單元的第一跳躍寫入指令序列是使用第一跳躍規則或第二跳躍規則。若對於第三實體抹除單元的第一跳躍寫入指令序列是使用第一跳躍規則,則在步驟S1706中,發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示根據第二跳躍規則執行第二跳躍程式化程序。若對於第三實體抹除單元的第一跳躍寫入指令序列是使用第二跳躍規則,則在步驟S1707中,發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示根據第一跳躍規則執行第二跳躍程式化程序。
圖18是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
請參照圖18,在步驟S1801中,接收第一寫入指令。在步驟S1802中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元。在步驟S1803中,判斷第一實體抹除單元的使用程度是否達到預設程度。若第一實體抹除單元的使用程度已達到預設程度,在步驟S1804中,根據第一寫入指令發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第一跳躍程式化程序。若第一實體抹除單元的使用程度尚未達到預設程度,在步驟S1805中,根據第一寫入指令發送正常寫入指令序列,其中,正常寫入指令序列指示執行正常程式化程序。
圖19是根據本發明的一範例實施例所繪示的程式化方法
的流程圖。
請參照圖19,在步驟S1901中,接收第一寫入指令。在步驟S1902中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元。在步驟S1903中,判斷記憶體儲存裝置或可複寫式非揮發性記憶體模組是否已經經過高溫製程。若記憶體儲存裝置或可複寫式非揮發性記憶體模組已經經過高溫製程,在步驟S1904中,根據第一寫入指令發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第一跳躍程式化程序。若記憶體儲存裝置或可複寫式非揮發性記憶體模組尚未經過高溫製程,在步驟S1905中,根據第一寫入指令發送正常寫入指令序列,其中,正常寫入指令序列指示執行正常程式化程序。
圖20是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
請參照圖20,在步驟S2001中,接收第一寫入指令。在步驟S2002中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元。在步驟S2003中,判斷可複寫式非揮發性記憶體模組的第一儲存區的總可用大小是否小於第一寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組的資料的資料大小。若可複寫式非揮發性記憶體模組的第一儲存區的總可用大小不是小於第一寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組的資料的資料大小,在步驟S2004中,根據第一寫入指令發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第
一跳躍程式化程序。若可複寫式非揮發性記憶體模組的第一儲存區的總可用大小是小於第一寫入指令所指示需要寫入至可複寫式非揮發性記憶體模組的資料的資料大小,在步驟S2005中,根據第一寫入指令發送正常寫入指令序列,其中,正常寫入指令序列指示執行正常程式化程序。
圖21是根據本發明的一範例實施例所繪示的程式化方法的流程圖。
請參照圖21,在步驟S2101中,接收第一寫入指令。在步驟S2102中,根據第一寫入指令從多個實體抹除單元中選擇第一實體抹除單元。在步驟S2103中,判斷可複寫式非揮發性記憶體模組的目前狀態是否符合第一條件。若可複寫式非揮發性記憶體模組的目前狀態符合第一條件,在步驟S2104中,根據第一寫入指令發送第一跳躍寫入指令序列,其中,第一跳躍寫入指令序列指示執行第一跳躍程式化程序。若可複寫式非揮發性記憶體模組的目前狀態不符合第一條件,在步驟S2105中,根據第一寫入指令發送正常寫入指令序列,其中,正常寫入指令序列指示執行正常程式化程序。在步驟S2106中,接收第二寫入指令。在步驟S2107中,根據第二寫入指令選擇第三實體抹除單元。此第三實體抹除單元可以是與第一實體抹除單元相同的實體抹除單元也可以是與第一實體抹除單元不相同的實體抹除單元。在步驟S2108中,判斷可複寫式非揮發性記憶體模組的目前狀態是否符合第一條件。若在步驟S2108中判定可複寫式非揮發性記憶體模組的目前
狀態符合第一條件,則在步驟S2109中,判斷對於第三實體抹除單元的第一跳躍寫入指令序列是使用第一跳躍規則或第二跳躍規則。若對於第三實體抹除單元的第一跳躍寫入指令序列是使用第一跳躍規則,則在步驟S2110中,發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示根據第二跳躍規則執行第二跳躍程式化程序。若對於第三實體抹除單元的第一跳躍寫入指令序列是使用第二跳躍規則,則在步驟S2111中,發送第二跳躍寫入指令序列,其中第二跳躍寫入指令序列指示根據第一跳躍規則執行第二跳躍程式化程序。若在步驟S2108中判定可複寫式非揮發性記憶體模組的目前狀態不符合第一條件,則在步驟S2112中,根據第二寫入指令發送正常寫入指令序列,其中,正常寫入指令序列指示執行正常程式化程序。
然而,圖16至與圖21中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖16至與圖21中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖16至與圖21的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明一範例實施例提出的跳躍寫入指令序列是用以指示執行跳躍程式化程序。在跳躍程式化程序中,相鄰的字元線不會被用來儲存資料。藉此,可減少因程式化相鄰的字元線所產生的錯誤。
雖然本發明已以實施例揭露如上,然其並非用以限定本
發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S1601、S1602‧‧‧步驟
Claims (32)
- 一種程式化方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該程式化方法包括:接收至少一第一寫入指令;以及根據該至少一第一寫入指令從該些實體抹除單元中選擇一第一實體抹除單元並且發送一第一跳躍寫入指令序列,其中該第一跳躍寫入指令序列指示執行一第一跳躍程式化程序,其中該第一跳躍程式化程序包括:根據對應於該至少一第一寫入指令的一第一資料來程式化該第一實體抹除單元的多條字元線中的一第一字元線;以及在該第一字元線被程式化之後,跳過該第一實體抹除單元的該些字元線中與該第一字元線相鄰的至少一第二字元線而根據該第一資料來程式化該第一實體抹除單元的該些字元線中不與該第一字元線相鄰的一第三字元線。
- 如申請專利範圍第1項所述的程式化方法,其中該第一實體抹除單元包括M+1條字元線,該第一字元線是該M+1條字元線中的第N條字元線,該至少一第二字元線是該M+1條字元線中的第N+1條字元線,並且該第三字元線是該M+1條字元線中的第N+2條字元線,其中M與N是正整數。
- 如申請專利範圍第1項所述的程式化方法,更包括:判斷該第一資料的一資料大小是否超過該第一實體抹除單元 的一可用大小,其中該第一實體抹除單元的該可用大小小於或等於該第一實體抹除單元的一總儲存空間的大小的1/P,且P是大於1的整數;以及若該第一資料的該資料大小超過該第一實體抹除單元的該可用大小,從該些實體抹除單元中選擇一第二實體抹除單元,其中該第一跳躍程式化程序更包括:根據該第一資料來程式化該第二實體抹除單元的該些字元線中的一第四字元線;以及在該第四字元線被程式化之後,跳過該第二實體抹除單元的該些字元線中與該第四字元線相鄰的至少一第五字元線而根據該第一資料來程式化該第二實體抹除單元的該些字元線中不與該第四字元線相鄰的一第六字元線。
- 如申請專利範圍第1項所述的程式化方法,更包括:在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令;根據該至少一第二寫入指令從該些實體抹除單元中選擇一第三實體抹除單元並且發送一第二跳躍寫入指令序列,其中該第二跳躍寫入指令序列指示執行一第二跳躍程式化程序,其中該第二跳躍程式化程序包括:跳過該第三實體抹除單元的該些字元線中的第一字元線而根據對應於該至少一第二寫入指令的一第二資料來程式化該第三實體抹除單元的該些字元線中的第二字元線;以及 在該第二字元線被程式化之後,跳過該第三實體抹除單元的該些字元線中的第三字元線而根據該第二資料來程式化該第三實體抹除單元的該些字元線中不與被程式化的該第二字元線相鄰的一第七字元線。
- 如申請專利範圍第1項所述的程式化方法,更包括:判斷該可複寫式非揮發性記憶體模組的一目前狀態是否符合至少一第一條件,其中該第一跳躍寫入指令序列是在判定該可複寫式非揮發性記憶體模組的該目前狀態符合該至少一第一條件之後發送;以及若該可複寫式非揮發性記憶體模組的該目前狀態不符合該第一條件,發送一正常寫入指令序列,其中該正常寫入指令序列指示執行一正常程式化程序,其中該正常程式化程序包括:根據該第一資料來程式化該第一字元線;以及在該第一字元線被程式化之後,根據該第一資料來程式化該至少一第二字元線。
- 如申請專利範圍第5項所述的程式化方法,其中判斷該可複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的步驟包括:判斷該第一實體抹除單元的一使用程度是否達到一預設程度。
- 如申請專利範圍第5項所述的程式化方法,其中判斷該可 複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的步驟包括:判斷該可複寫式非揮發性記憶體模組是否已經經過一高溫製程的處理。
- 如申請專利範圍第5項所述的程式化方法,其中判斷該可複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的步驟包括:判斷該可複寫式非揮發性記憶體模組的一第一儲存區的一總可用大小是否小於該第一資料的一資料大小,其中該第一儲存區的該總可用空間的一大小小於或等於該第一儲存區的一第一儲存區的一總儲存空間的大小的1/P,其中P為大於1的整數。
- 如申請專利範圍第1或5項所述的程式化方法,更包括:在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令;判斷該第一跳躍程式化程序是使用一第一跳躍規則或一第二跳躍規則;若該第一跳躍程式化程序是使用該第一跳躍規則,則指示在對應於該至少一第二寫入指令的一第二跳躍程式化程序中使用該第二跳躍規則;以及若該第一跳躍程式化程序是使用該第二跳躍規則,則指示在該第二跳躍程式化程序中使用該第一跳躍規則。
- 如申請專利範圍第9項所述的程式化方法,其中該可複 寫式非揮發性記憶體模組包括一第一儲存區與一第二儲存區,該第一跳躍程式化程序或該第二跳躍程式化程序僅使用於該第一儲存區。
- 如申請專利範圍第10項所述的程式化方法,更包括:將儲存於該第一實體抹除單元中的該第一資料複製到該些實體抹除單元中的一第四實體抹除單元。
- 如申請專利範圍第11項所述的程式化方法,其中該第一實體抹除單元屬於該第一儲存區,該第四實體抹除單元屬於該第二儲存區,該第一儲存區使用一第二程式化模式,並且該第二儲存區使用一第一程式化模式。
- 如申請專利範圍第9項所述的程式化方法,其中該可複寫式非揮發性記憶體模組包括一第一儲存區與一第二儲存區,該第一跳躍程式化程序或該第二跳躍程式化程序僅使用於該第二儲存區。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以接收至少一第一寫入指令;以及 其中該記憶體控制電路單元更用以根據該至少一第一寫入指令從該些實體抹除單元中選擇一第一實體抹除單元並且發送一第一跳躍寫入指令序列,其中該第一跳躍寫入指令序列指示執行一第一跳躍程式化程序,其中該第一跳躍程式化程序包括:根據對應於該至少一第一寫入指令的一第一資料來程式化該第一實體抹除單元的多條字元線中的一第一字元線;以及在該第一字元線被程式化之後,跳過該第一實體抹除單元的該些字元線中與該第一字元線相鄰的至少一第二字元線而根據該第一資料來程式化該第一實體抹除單元的該些字元線中不與該第一字元線相鄰的一第三字元線。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該第一實體抹除單元包括M+1條字元線,該第一字元線是該M+1條字元線中的第N條字元線,該至少一第二字元線是該M+1條字元線中的第N+1條字元線,並且該第三字元線是該M+1條字元線中的第N+2條字元線,其中M與N是正整數。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以判斷該第一資料的一資料大小是否超過該第一實體抹除單元的一可用大小,其中該第一實體抹除單元的該可用大小小於或等於該第一實體抹除單元的一總儲存空間的大小的1/P,且P是大於1的整數,其中若該第一資料的該資料大小超過該第一實體抹除單元的 該可用大小,該記憶體控制電路單元更用以從該些實體抹除單元中選擇一第二實體抹除單元,其中該第一跳躍程式化程序更包括:根據該第一資料來程式化該第二實體抹除單元的該些字元線中的一第四字元線;以及在該第四字元線被程式化之後,跳過該第二實體抹除單元的該些字元線中與該第四字元線相鄰的至少一第五字元線而根據該第一資料來程式化該第二實體抹除單元的該些字元線中不與該第四字元線相鄰的一第六字元線。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令,其中該記憶體控制電路單元更用以根據該至少一第二寫入指令從該些實體抹除單元中選擇一第三實體抹除單元並且發送一第二跳躍寫入指令序列,其中該第二跳躍寫入指令序列指示執行一第二跳躍程式化程序,其中該第二跳躍程式化程序包括:跳過該第三實體抹除單元的該些字元線中的第一字元線而根據對應於該至少一第二寫入指令的一第二資料來程式化該第三實體抹除單元的該些字元線中的第二字元線;以及在該第二字元線被程式化之後,跳過該第三實體抹除單元的該些字元線中的第三字元線而根據該第二資料來程式化該第 三實體抹除單元的該些字元線中不與被程式化的該第二字元線相鄰的一第七字元線。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以判斷該可複寫式非揮發性記憶體模組的一目前狀態是否符合至少一第一條件,其中該第一跳躍寫入指令序列是在判定該可複寫式非揮發性記憶體模組的該目前狀態符合該至少一第一條件之後發送,其中若該可複寫式非揮發性記憶體模組的該目前狀態不符合該第一條件,該記憶體控制電路單元更用以發送一正常寫入指令序列,其中該正常寫入指令序列指示執行一正常程式化程序,其中該正常程式化程序包括:根據該第一資料來程式化該第一字元線;以及在該第一字元線被程式化之後,根據該第一資料來程式化該至少一第二字元線。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該可複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的操作包括:判斷該第一實體抹除單元的一使用程度是否達到一預設程度。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該可複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的操作包括: 判斷該可複寫式非揮發性記憶體模組是否已經經過一高溫製程的處理。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該可複寫式非揮發性記憶體模組的該目前狀態是否符合該至少一第一條件的操作包括:判斷該可複寫式非揮發性記憶體模組的一第一儲存區的一總可用大小是否小於該第一資料的一資料大小,其中該第一儲存區的該總可用空間的一大小小於或等於該第一儲存區的一總儲存空間的大小的1/P,其中P為大於1的整數。
- 如申請專利範圍第14或18項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令,其中該記憶體控制電路單元更用以判斷該第一跳躍程式化程序是使用一第一跳躍規則或一第二跳躍規則,其中若該第一跳躍程式化程序是使用該第一跳躍規則,則該記憶體控制電路單元更用以指示在對應於該至少一第二寫入指令的一第二跳躍程式化程序中使用該第二跳躍規則,其中若該第一跳躍程式化程序是使用該第二跳躍規則,則該記憶體控制電路單元更用以指示在該第二跳躍程式化程序中使用該第一跳躍規則。
- 如申請專利範圍第22項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組包括一第一儲存區與一第二儲存 區,該第一跳躍程式化程序或該第二跳躍程式化程序僅使用於該第一儲存區。
- 如申請專利範圍第23項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以將儲存於該第一實體抹除單元中的該第一資料複製到該些實體抹除單元中的一第四實體抹除單元。
- 如申請專利範圍第24項所述的記憶體儲存裝置,其中該第一實體抹除單元屬於該第一儲存區,該第四實體抹除單元屬於該第二儲存區,該第一儲存區使用一第二程式化模式,並且該第二儲存區使用一第一程式化模式。
- 如申請專利範圍第22項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組包括一第一儲存區與一第二儲存區,該第一跳躍程式化程序或該第二跳躍程式化程序僅使用於該第二儲存區。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,其中該記憶體管理電路用以接收至少一第一寫入指令,其中該記憶體管理電路更用以根據該至少一第一寫入指令從 該些實體抹除單元中選擇一第一實體抹除單元並且發送一第一跳躍寫入指令序列,其中該第一跳躍寫入指令序列指示執行一第一跳躍程式化程序,其中該第一跳躍程式化程序包括:根據對應於該至少一第一寫入指令的一第一資料來程式化該第一實體抹除單元的多條字元線中的一第一字元線;以及在該第一字元線被程式化之後,跳過該第一實體抹除單元的該些字元線中與該第一字元線相鄰的至少一第二字元線而根據該第一資料來程式化該第一實體抹除單元的該些字元線中不與該第一字元線相鄰的一第三字元線。
- 如申請專利範圍第27項所述的記憶體控制電路單元,其中該記憶體管理電路更用以在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令,其中該記憶體管理電路更用以根據該至少一第二寫入指令從該些實體抹除單元中選擇一第三實體抹除單元並且發送一第二跳躍寫入指令序列,其中該第二跳躍寫入指令序列指示執行一第二跳躍程式化程序,其中該第二跳躍程式化程序包括:跳過該第三實體抹除單元的該些字元線中的第一字元線而根據對應於該至少一第二寫入指令的一第二資料來程式化該第三實體抹除單元的該些字元線中的第二字元線;以及在該第二字元線被程式化之後,跳過該第三實體抹除單 元的該些字元線中的第三字元線而根據該第二資料來程式化該第三實體抹除單元的該些字元線中不與被程式化的該第二字元線相鄰的一第七字元線。
- 如申請專利範圍第27項所述的記憶體控制電路單元,其中該記憶體管理電路更用以判斷該可複寫式非揮發性記憶體模組的一目前狀態是否符合至少一第一條件,其中該第一跳躍寫入指令序列是在判定該可複寫式非揮發性記憶體模組的該目前狀態符合該至少一第一條件之後發送,其中若該可複寫式非揮發性記憶體模組的該目前狀態不符合該第一條件,該記憶體管理電路更用以發送一正常寫入指令序列,其中該正常寫入指令序列指示執行一正常程式化程序,其中該正常程式化程序包括:根據該第一資料來程式化該第一字元線;以及在該第一字元線被程式化之後,根據該第一資料來程式化該至少一第二字元線。
- 如申請專利範圍第27或29項所述的記憶體控制電路單元,其中該記憶體管理電路更用以在接收到該至少一第一寫入指令之後,接收至少一第二寫入指令,其中該記憶體管理電路更用以判斷該第一跳躍程式化程序是使用一第一跳躍規則或一第二跳躍規則,其中若該第一跳躍程式化程序是使用該第一跳躍規則,則該記憶體管理電路更用以指示在對應於該至少一第二寫入指令的一 第二跳躍程式化程序中使用該第二跳躍規則,其中若該第一跳躍程式化程序是使用該第二跳躍規則,則該記憶體管理電路更用以指示在該第二跳躍程式化程序中使用該第一跳躍規則。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元使用該些實體抹除單元中的一第一實體抹除單元的多條字元線中的一第一字元線來儲存一第一資料,其中在使用該第一字元線之後,該記憶體控制電路單元接續使用該第一實體抹除單元的該些字元線中的一第三字元線來儲存該第一資料,其中該第一字元線與該第三字元線不相鄰。
- 如申請專利範圍第31項所述的記憶體儲存裝置,其中該第一字元線與該第三字元線之間包括被跳過的與該第一字元線相鄰的至少一第二字元線。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103131539A TWI557743B (zh) | 2014-09-12 | 2014-09-12 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
US14/529,166 US9514819B2 (en) | 2014-09-12 | 2014-10-31 | Programming method, memory storage device and memory controlling circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103131539A TWI557743B (zh) | 2014-09-12 | 2014-09-12 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201611010A true TW201611010A (zh) | 2016-03-16 |
TWI557743B TWI557743B (zh) | 2016-11-11 |
Family
ID=55455376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103131539A TWI557743B (zh) | 2014-09-12 | 2014-09-12 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9514819B2 (zh) |
TW (1) | TWI557743B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI641948B (zh) * | 2017-07-27 | 2018-11-21 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI677870B (zh) * | 2016-04-08 | 2019-11-21 | 韓商愛思開海力士有限公司 | 電子裝置 |
TWI681331B (zh) * | 2018-01-31 | 2020-01-01 | 日商東芝記憶體股份有限公司 | 記憶體系統及其控制方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI512750B (zh) * | 2014-07-30 | 2015-12-11 | Phison Electronics Corp | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI557743B (zh) * | 2014-09-12 | 2016-11-11 | 群聯電子股份有限公司 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI591641B (zh) * | 2016-02-19 | 2017-07-11 | 群聯電子股份有限公司 | 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置 |
KR20190099570A (ko) * | 2018-02-19 | 2019-08-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11087849B2 (en) * | 2018-05-08 | 2021-08-10 | Sandisk Technologies Llc | Non-volatile memory with bit line controlled multi-plane mixed sub-block programming |
TWI727842B (zh) * | 2020-02-20 | 2021-05-11 | 大陸商長江存儲科技有限責任公司 | 存儲器件及其編程方法 |
KR20220018060A (ko) | 2020-04-23 | 2022-02-14 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 디바이스 및 그것의 프로그래밍 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292476B2 (en) * | 2005-08-31 | 2007-11-06 | Micron Technology, Inc. | Programming method for NAND EEPROM |
US8874825B2 (en) * | 2009-06-30 | 2014-10-28 | Sandisk Technologies Inc. | Storage device and method using parameters based on physical memory block location |
US8645794B1 (en) * | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
TWI536392B (zh) * | 2010-10-08 | 2016-06-01 | 群聯電子股份有限公司 | 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法 |
US8743615B2 (en) * | 2011-08-22 | 2014-06-03 | Sandisk Technologies Inc. | Read compensation for partially programmed blocks of non-volatile storage |
TWI512734B (zh) * | 2012-11-09 | 2015-12-11 | Asolid Technology Co Ltd | 快閃記憶體及其存取方法 |
US20150170754A1 (en) * | 2013-01-17 | 2015-06-18 | Empire Technology Development Llc | Mitigating Inter-Cell Interference |
US9070436B2 (en) * | 2013-01-30 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Memory controller using crisscross error-correcting codes |
US8902652B1 (en) * | 2014-05-13 | 2014-12-02 | Sandisk Technologies Inc. | Systems and methods for lower page writes |
TWI557743B (zh) * | 2014-09-12 | 2016-11-11 | 群聯電子股份有限公司 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2014
- 2014-09-12 TW TW103131539A patent/TWI557743B/zh active
- 2014-10-31 US US14/529,166 patent/US9514819B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI677870B (zh) * | 2016-04-08 | 2019-11-21 | 韓商愛思開海力士有限公司 | 電子裝置 |
US10861540B2 (en) | 2016-04-08 | 2020-12-08 | SK Hynix Inc. | Electronic device with semiconductor memory having increased read margin |
TWI641948B (zh) * | 2017-07-27 | 2018-11-21 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI681331B (zh) * | 2018-01-31 | 2020-01-01 | 日商東芝記憶體股份有限公司 | 記憶體系統及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI557743B (zh) | 2016-11-11 |
US9514819B2 (en) | 2016-12-06 |
US20160078951A1 (en) | 2016-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI557743B (zh) | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI575374B (zh) | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI409633B (zh) | 快閃記憶體儲存裝置、其控制器與資料寫入方法 | |
US10310739B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US9530509B2 (en) | Data programming method, memory storage device and memory control circuit unit | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI501243B (zh) | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI597730B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI559314B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW202009711A (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9312013B1 (en) | Configuration method of erase operation, memory controlling circuit unit and memory storage device | |
TWI529530B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI717816B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI796882B (zh) | 讀取干擾檢查方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11726709B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
TWI564903B (zh) | 記憶體管理方法、記憶體儲存裝置與記憶體控制電路單元 | |
US20170277436A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
TW201901433A (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN105513635A (zh) | 编程方法、存储器存储装置及存储器控制电路单元 | |
US10338854B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
US10732845B2 (en) | Data search method, memory storage apparatus, and memory control circuit unit | |
US20240304259A1 (en) | Voltage prediction method, memory storage device and memory control circuit unit |