TWI578320B - 記憶體的操作方法及應用其之記憶體裝置 - Google Patents
記憶體的操作方法及應用其之記憶體裝置 Download PDFInfo
- Publication number
- TWI578320B TWI578320B TW104123607A TW104123607A TWI578320B TW I578320 B TWI578320 B TW I578320B TW 104123607 A TW104123607 A TW 104123607A TW 104123607 A TW104123607 A TW 104123607A TW I578320 B TWI578320 B TW I578320B
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- pages
- memory
- data
- target
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
Description
本發明是有關於一種記憶體的操作方法及應用其記憶體裝置。
近年來,快閃記憶體被廣泛地應用在智慧型手機、平板電腦以及嵌入式多媒體卡(Embedded Multimedia Card, eMMC)的應用當中。為使快閃儲存系統具有更高的成本效益,採用多階記憶胞(Multi-Level-Cell, MLC)技術乃關鍵的一步,以於低製造成本下使記憶容量加倍。然而,相較於單階記憶胞(Single-Level-Cell)程式化技術,MLC往往需要花費較多的時間來程式化資料。
因此,如何提供一種記憶體的操作方法及應用其之記憶體裝置以改善對快閃記憶體的程式化效率,乃目前業界所致力的課題之一。
本發明是有關於一種記憶體的操作方法及應用其之記憶體裝置。
根據本發明之一方面,提出一種針對記憶體的操作方法。記憶體包括至少一記憶區塊,此至少一記憶區塊包括多個第一頁以及對應於此些第一頁的多個第二頁,此操作方法包括以下步驟:依據此些第一頁的有效性資訊,判斷此些第一頁中的一目標第一頁是否為有效,其中此目標第一頁係對應此些第二頁中的一目標第二頁;若目標第一頁為有效,對目標第二頁進行第一類型程式化操作;若目標第一頁為無效,對目標第二頁進行第二類型程式化操作。
根據本發明之另一方面,提出一種針對記憶體的操作方法。記憶體包括記憶區塊,記憶區塊包括第一子區塊以及第二子區塊,第一子區塊包括多個第一頁,第二子區塊包括分別對應於此些第一頁的多個第二頁,此操作方法包括:依據此些第一頁的有效性資訊,判斷此些第一頁中的一目標第一頁是否為有效,此目標第一頁係對應此些第二頁中的一目標第二頁;若此目標第一頁為無效,對此目標第二頁進行一類單階記憶胞程式化操作(SLC-like programming)。
根據本發明之又一方面,提出一種記憶體裝置。記憶體裝置包括記憶體、第一類型記憶體功能模組、第二類型記憶體功能模組、有效資訊紀錄單元以及控制器。記憶體包括多個記憶區塊,各記憶區塊包括多個第一頁以及對應於此些第一頁的多個第二頁。第一類型記憶體功能模組用以對記憶區塊進行第一類型程式化操作。第二類型記憶體功能模組用以對記憶區塊進行第二類型程式化操作。有效資訊紀錄單元用以記錄第一頁的有效性資訊。控制器用以依據有效資訊紀錄單元所記錄的有效性資訊,控制第一類型記憶體功能模組以及第二類型記憶體功能模組,以選擇性地對第二頁執行第一類型程式化操作或第二類型程式化操作。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
300、500‧‧‧記憶體裝置
302‧‧‧記憶體
304‧‧‧第一類型記憶體功能模組
306‧‧‧第二類型記憶體功能模組
308‧‧‧有效資訊紀錄單元
310‧‧‧控制器
312‧‧‧最後寫入頁記錄表
514‧‧‧低位元資料頁分配表
BLC1~BLC101、BLCX‧‧‧記憶區塊
P1~P8‧‧‧頁
WL1~WL4‧‧‧字元線
BL1~BLM‧‧‧位元線
302‧‧‧記憶體
304‧‧‧第一類型記憶體功能模組
306‧‧‧第二類型記憶體功能模組
308‧‧‧有效資訊紀錄單元
310‧‧‧控制器
312‧‧‧最後寫入頁記錄表
514‧‧‧低位元資料頁分配表
BLC1~BLC101、BLCX‧‧‧記憶區塊
P1~P8‧‧‧頁
WL1~WL4‧‧‧字元線
BL1~BLM‧‧‧位元線
第1圖繪示依據本發明之一實施例之對多階記憶胞進行一例示的第一類型程式化操作的示意圖。
第2圖繪示依據本發明之一實施例之第二類型程式化操作的示意圖。
第3圖繪示依據本發明之一實施例之執行靜態類SLC設計之記憶體裝置。
第4(a)圖至第4(c)圖繪示對記憶區塊以靜態類SLC設計進行程式化的例子。
第5圖繪示依據本發明之一實施例之執行動態類SLC設計之記憶體裝置。
第6(a)圖至第6(c)圖繪示對記憶區塊以動態類SLC設計進行程式化的例子。
以下係提出實施例進行詳細說明,實施例僅用以作為範例說明,並不會限縮本揭露欲保護之範圍。此外,實施例中之圖式係省略不必要之元件,以清楚顯示本揭露之技術特點。
本發明實施例提供一種記憶體的操作方法及相關的記憶體裝置,其涉及了兩種不同類型的程式化操作:第一類型程式化操作以及第二類型程式化操作。當記憶區塊中的一頁(page)為有效時,其對應的配對頁(paired page)係以被第一類型的程式化操作進行程式化;當該頁為無效時,其對應的配對頁係以第二類型的程式化操作進行程式化。由於第二類型程式化操作可提升程式化速度並增加記憶體的資料可靠度,故可提升整體的程式化效率。
第1圖繪示依據本發明之一實施例之對多階記憶胞(Multi-Level-Cell, MLC)進行一例示的第一類型程式化操作的示意圖。第一類型程式化操作例如是典型針對MLC的程式化操作。此程式化操作分為兩階段以將資料寫入一字元線中的兩不同頁。在此例子中,第一被寫入的頁稱為“高位元資料頁”,第二被寫入相同字元線的頁稱為“低位元資料頁”。在第一階段,高位元資料頁的資料先被寫入一字元線。在第二階段,低位元資料頁的資料被寫入相同字元線。因此,在第1圖的例子中,高位元資料頁需儲存資料“1”的記憶胞將維持原本的邏輯狀態(閥電壓(Vt)狀態),而高位元資料頁需儲存資料“0”的記憶胞將被程式化至較高的閥電壓。需注意的是,由於第一階段的最終閥電壓分佈係類似於對一單階記憶胞(Single-Level-Cell, SLC)頁進行程式化後的分佈,故此階段的程式化速度相當接近對SLC頁程式化的速度。
在第二階段,為了將低位元資料頁的資料寫入同字元線中,MLC需以四個邏輯狀態來呈現2位元的資料。舉例來說,目前處於邏輯狀態“1”且需另儲存位元資料“0”的記憶胞將會被程式化至邏輯狀態“10”;而目前處於邏輯狀態“0”且需另儲存位元資料“1”的記憶胞將會被程式化至邏輯狀態“01”,以此類推。
在第1圖中,電壓Vpass為施加於非選字元線上的閘極導通電壓。舉例來說,當記憶區塊中的一頁要被程式化或被讀取,其對應的字元線將被施加程式化電壓或讀取(感測)電壓。此時,在同一記憶區塊中的其他字元線將被施加電壓Vpass以使電流通過同一記憶胞串(例如NAND記憶胞串)中的通道。由於閥電壓被過度程式化(over-programmed)而超過電壓Vpass的記憶胞將會阻斷對應記憶胞串的通道,進而失能對記憶胞的程式化及讀取操作,故電壓Vpass可決定各記憶胞閥電壓的最大值。
假設在高位元資料頁的資料仍為有效時,另一筆資料亦準備好被程式化至相同的實體位置,如前所述,此時需要四個邏輯狀態,也就是“11”、“10”、“00”及“01”,以供各記憶胞呈現2位元的資料。因此,原本的兩個邏輯記憶胞分佈“1”和“0”將進一步地被程式化至四個分佈。在此例子中,程式化驗證電壓PV1用以決定邏輯狀態“10”的記憶胞分佈的下限(low bound)。進一步說,原本在邏輯狀態“1”的記憶胞可例如透過增量步階脈衝程式化(Incremental Step Pulse Programming, ISPP)程序以通過程式化驗證電壓PV1,進而被程式化至邏輯狀態“10”。同樣地,程式化驗證電壓PV2及PV3可用以決定邏輯狀態“00”及“01”的記憶胞分佈下限。
需注意的是,由於閥電壓的剩餘窗空間(window)只有從邏輯狀態“0”的上限(high bound)至電壓Vpass,故程式化時需採用具有小增量步階的ISPP程序,以降低鄰近記憶胞間不同邏輯狀態分佈的重疊,並使所有的記憶胞可被程式化至四種分佈。一般而言,具有小增量步階的ISPP程序需要多次的程式化擊發(shot),以致於程式化效率降低。因此,上述第一類型程式化操作在第二階段所花費的時間通常較第一階段來得長。
第2圖繪示依據本發明之一實施例之第二類型程式化操作的示意圖。首先,如同第1圖所示,記憶胞的高位元資料頁在第一階段係被程式化至邏輯狀態“1”以及“0”。接著,當系統資訊傳遞至記憶體內部,此高位元資料頁中的資料可能會變成無效(例如原資料已被覆寫)。也就是說,此高位元資料頁將被虛擬地捨棄或篩除。此時,處在邏輯狀態“1”或“0”的記憶胞並無差別。接著,在第二階段,低位元資料頁資料係被程式化至包含無效高位元資料頁資料的記憶胞。此時,由於原本處於邏輯狀態“1”或“0”的記憶胞係等同於處在相同的邏輯狀態,故接下來低位元資料頁中應儲存資料”1”的記憶胞將維持原本的閥電壓狀態,而低位元資料頁應儲存資料”0”的記憶胞將被程式化至新的邏輯狀態“1”的上限以及電壓Vpass間的剩餘窗空間。如第2圖所示,欲儲存低資料位元頁資料“0”的記憶胞(原本在邏輯狀態“1”或“0”)係被程式化,直到對應的閥電壓超過程式化驗證電壓PV4。透過上述機制,第二類型程式化操作如同進行SLC程式化操作,其可達到比MLC程式化操作更快的程式化速度。因此,就一方面而言,第二類型程式化可被視為一種類SLC程式化操作。需注意的是,本發明並不限在第一階段中對記憶區塊中的高位元資料頁進行程式化,並在第二階段中對相應的低位元資料頁進行程式化。更通常地說,本發明所提出的程式化操作亦可應用在第一階段中對記憶區塊中的一頁寫入一資料,並在第二階段中對其相應的配對頁寫入另一資料。上述之頁可包含於記憶區塊中第一子區塊(例如上半子區塊),對應於該頁的配對頁可包含於該記憶區塊中第二子區塊(例如下半子區塊)。頁的資料與配對頁的資料例如皆被程式化至同一條字元線。
本發明所提供之記憶體的操作方法及相關的記憶體裝置可在一字元線的高位元資料頁的資料為無效時,以第二類型程式化操作對相同字元線上的低位元資料頁進行程式化,藉此提升整體的程式化速度及效率。以下,係提出兩種不同的程式化設計,以進一步闡明第二類型程式化操作的應用。
一、靜態類SLC設計
一、靜態類SLC設計
在靜態類SLC設計中,記憶區塊中的高位元資料頁會先依照一第一預定順序被程式化,在完成對此些高位元資料頁的程式化後,對應於此些高位元資料頁的低位元資料頁將依照一第二預定順序被程式化。第一預定順序與第二預定順序可以相同或不相同。
第3圖繪示依據本發明之一實施例之執行靜態類SLC設計之記憶體裝置300。記憶體裝置300包括記憶體302、第一類型記憶體功能模組304、第二類型記憶體功能模組306、有效資訊紀錄單元308以及控制器310。
記憶體302例如是NAND快閃記憶體或任一形式的儲存裝置。記憶體302可包括多個記憶區塊BLC1~BLCX,各記憶區塊包括N條字元線(如第3圖中N=4)。各條字元線包括M個記憶胞(連接M條位元線)。假設一頁包括M個記憶胞,此頁係作為讀/寫操作的基本單元。在一條字元線中儲存兩頁的資料相當於在相同的字元線上的各記憶胞儲存2位元的資料。如前所述,第一寫入頁係一高位元資料頁,第二寫入頁係一低位元資料頁。
第一類型記憶體功能模組304用以對記憶區塊BLC1~BLCX執行典型/預設的記憶體讀取、程式化以及抹除功能。舉例來說,第一類型記憶體功能模組304可對記憶區塊中的目標高/低位元資料頁執行如第1圖所示的第一類型的記憶體功能。
第二類型記憶體功能模組306用以對記憶區塊BLC1~BLCX進行第二類型記憶體功能,像是類SLC讀取功能、類SLC程式化功能以及修整(trim)功能。舉例來說,當低位元資料頁在相同記憶胞中所對應的高位元資料頁的資料為無效時,第二類型記憶體功能模組306可利用如第2圖所示的第二類型程式化操作對此些低位元資料頁進行程式化。修整功能用以使像是快閃轉換層(flash translation layer)或快閃檔案系統(flash file system)等較上層的虛擬層提供第二類型記憶體功能模組306關於頁資料的映射資訊,讓有效資訊紀錄單元308可維持各頁的有效性資訊。
有效資訊紀錄單元308用以記錄高位元資料頁的有效性資訊。有效資訊紀錄單元308可透過查閱表、列表或其它儲存媒體的方式來實現。有效性資訊係可指示哪些高位元資料頁是無效的。在一實施例中,若一高位元資料頁並未被程式化入資料(閒置),在程式化對應該高位元資料頁的低位元資料頁時,控制器310會將該高位元資料頁設定為無效頁。一般而言,有效資訊紀錄單元308只需記錄高位元資料頁的有效性資訊,但本發明並不限於此。
控制器310可依據有效資訊紀錄單元308所記錄的有效性資訊,控制第一類型記憶體功能模組304以及第二類型記憶體功能模組306,以選擇性地執行第一類型程式化操作或第二類型程式化操作。在一實施例中,控制器310可依據高位元資料頁的有效性資訊,判斷一高位元資料頁是否為有效。若此高位元資料頁為有效,控制器310會將此高位元資料頁所對應的低位元資料頁進行第一類型程式化操作(例如典型的MLC程式化)。反之,若此高位元資料頁為無效,控制器310將對此高位元資料頁所對應的低位元資料頁進行第二類型程式化操作(例如類SLC程式化)。
舉例來說,當一低位元資料頁所對應的高位元資料頁為無效,控制器310可控制第二類型記憶體功能模組306執行類SLC程式化功能以對此低位元資料頁進行程式化。對於被執行SLC程式化功能的低位元資料頁,控制器310可控制第二類型記憶體功能模組306執行對應的類SLC讀取功能以對其進行讀取。
在一實施例中,記憶體裝置300更包括一最後寫入頁記錄表(Last Written Page Table, LWPT)312,用以記錄記憶區塊BLC1~BLCX中的最後寫入頁的編號。
可以理解的是,記憶體裝置300的上述元件,像是第一類型記憶體功能模組304、第二類型記憶體功能模組306、有效資訊紀錄單元308、控制器310以及最後寫入頁記錄表312可以軟體、韌體或硬體(例如處理器、微處理器、邏輯電路)來實現。在一實施例中,第一類型記憶體功能模組304、第二類型記憶體功能模組306、有效資訊紀錄單元308、控制器310以及最後寫入頁記錄表312可實現在一記憶體技術裝置層(Memory Technology Device Layer)當中,但本發明並不以此為限,此些元件亦可實現於記憶體302內,或是記憶體裝置300的其他任一虛擬層當中。
在靜態類SLC設計中,各個頁會被靜態地程式化至一固定位置。如第3圖所示,記憶區塊BLC100包括4條字元線WL1~WL4,各條字元線包括一頁的記憶胞。其中,此些記憶胞可被程式化入兩頁的資料。在此例子中,高位元資料頁P1~P4係分別被配至字元線WL1~WL4,而相應的低位元資料頁P5~P6亦分別被配至字元線WL1~WL4。就邏輯的角度來看,記憶區塊BLC100中的頁P1、P2、P4及P5已經被程式化入使用者資料;對應地,從實體的角度來看,記憶區塊BLC100中這四頁的資料係分別被程式化至字元線WL1、WL2及WL4的高位元資料頁位置、以及字元線WL1的低位元資料位置。高位元資料頁P1~P4的有效性資訊係記錄在有效資訊紀錄單元308當中。在此例子中,包含無效資料(例如過期資料)的高位元資料頁P1及P4會被標記為無效,而未被寫入使用者資料的高位元資料頁P3在對其它頁(例如具有較高頁編號的頁P4)的程式化之後同樣會被視為無效。這是因為在大多的MLC快閃記憶體規格中,記憶區塊中的頁係以頁編號順序依序地被程式化。此外,由於目前在記憶區塊BLC100中最後被寫入的頁係P5,故頁P5的編號(例如“5”)將對應地保存在最後寫入頁記錄表312當中。
為讓低位元資料頁可採用類SLC程式化功能進行程式化以加快整體程式化速度,記憶區塊(如BLC100)中上半區塊中的頁(如頁P1~P4)係先分別被程式化至不同的字元線WL1~WL4。之後,再依據頁P1~P4的有效性資訊,適應性地對記憶區塊中下半區塊中的頁(如第3圖中的頁P5~P8)採用類SLC程式化操作。
請參考第4(a)至4(c)圖,其繪示對記憶區塊以靜態類SLC設計進行程式化的例子。如第4(a)圖所示,高位元資料頁P1、P2、P4係先依序地被程式化至位元線WL1、WL2及WL4。由於高位元資料頁P1係被修整功能標記為無效,其對應的低位元資料頁P5係透過類SLC程式化功能而被程式化至相同的位元線WL1。之後,任何對低位元資料頁P5的讀取要求係由第二類型記憶體功能模組306中的類SLC讀取功能來負責,以提供相應的讀取電壓。
接著,如第4(b)圖所示,若寫入要求係派送至記憶區塊BLC100的低位元資料頁P6,由於低位元資料頁P6所對應的高位元資料頁P2目前係包含有效資料,故第一類型記憶體功能模組304將服務此要求以對低位元資料頁P6執行第一類型的程式化操作(如典型的程式化功能)。然後,如第4(b)圖和4(c)圖所示,若接著有其他的寫入要求係派送至低資料位元頁P7及P8,第二類型記憶體功能模組306將分別對頁P7、P8執行類SLC程式化操作以將頁P7程式化至字元線WL3並將頁P8程式化至字元線WL4。這是因為字元線WL3及WL4上的相關高位元資料頁(頁P3及P4)係為無效頁。
二、動態類SLC設計
二、動態類SLC設計
由於有效的高位元資料頁在其對應的低位元資料頁需要被程式化時有可能會變成無效頁,在動態類SLC設計中,控制器310會先將低位元資料頁程式化至具有無效高位元資料頁的字元線,以進一步增加對低位元資料頁使用第二類型程式化操作(例如類SLC程式化操作)的機會。舉例來說,若記憶區塊中的高位元資料頁包括一無效的高位元資料頁以及一有效的高位元資料頁,在對其它對應有效高位元資料頁的低位元資料頁程式化之前,控制器310將優先對相應於無效高位元資料頁的低位元資料頁執行第二類型程式化操作(例如類SLC程式化操作)。
第5圖繪示繪示依據本發明之一實施例之執行動態類SLC設計之記憶體裝置500。記憶體裝置500與記憶體裝置300的主要差別在於,記憶體裝置500更包括一低位元資料頁分配表(Low Page Allocation Table, LPAT)514。低資料位元頁分配表514用以儲存記憶區塊中各低位元資料頁所對應的字元線編號,以支援將低位元資料頁動態地程式化至任意的字元線。舉例來說,當邏輯上記憶區塊BLC100的低位元資料頁P5的資料係被程式化至實體上的字元線WL1,此時低位元資料頁分配表514會將對應的字元線位置(例如記憶區塊BLC的字元線WL1)填入頁P5的欄位當中。
請參考第6(a)至6(c)圖,其繪示對記憶區塊執行動態類SLC設計的例子。如第6(a)圖所示,若寫入要求係派送至低位元資料頁P6,此低位元資料頁P6的資料將會被程式化至字元線WL3而非字元線WL2。這是因為字元線WL3的高位元資料頁尚未被寫入資料(即閒置頁),故被視為無效頁,且字元線WL2的高位元資料頁P2目前係包含有效的資料。此時,低位元資料頁分配表514會把被程式化的字元線的對應編號“3”儲存於低位元資料頁P6的欄位中。
之後,如第6(b)圖所示,若下一個寫入要求資料係派送至低位元資料頁P7,控制器310將持續搜索包含無效高位元資料頁的字元線。在此例子中,由於字元線WL2的高位元資料頁P2仍然是有效的,且字元線WL4的高位元資料頁P4是無效的,故控制器310將選擇字元線WL4寫入低位元資料頁P7的資料。
最後,若寫入要求資料係派送至記憶區塊BLC100 的低位元資料頁P8,且字元線WL2的高位元資料頁P2已經變成無效,控制器310可控制第二類型記憶體功能模組306以類SLC程式化功能對低位元資料頁P8進行程式化;反之,若字元線WL2的高位元資料頁P2仍為有效,控制器310可控制第一類型記憶體功能模組304以典型或預設的程式化功能對低位元資料頁P8進行程式化。
在一實施例中,控制器310可藉由安排對高位元資料頁寫入的內容,以增加高位元資料頁變為無效頁的可能性,藉此提升對低位元資料頁使用類SLC功能(例如類SLC程式化)的機會。舉例來說,在對高位元資料頁寫入其他資料(例如更新頻率較低的冷資料(Cold Data))前,控制器310可優先將熱資料(即具有較高更新頻率的資料)寫入高位元資料頁,使得程式化後的高位元資料頁容易成為無效頁,藉此提升對低位元資料頁使用類SLC功能的機會。
綜上所述,本發明所提供之記憶體的操作方法及相關的記憶體裝置可在字元線上的高位元資料頁資料為無效時,以第二類型程式化操作對相同字元線上的低位元資料頁進行程式化,藉此提升整體的程式化速度及效率。此外,本發明更可透過優先將低位元資料頁程式化至包含無效高位元頁資料或尚未寫入使用者資料的字元線,或是優先將熱資料程式化至高位元資料頁,藉此提高使用第二類型程式化操作的機會。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
300‧‧‧記憶體裝置
302‧‧‧記憶體
304‧‧‧第一類型記憶體功能模組
306‧‧‧第二類型記憶體功能模組
308‧‧‧有效資訊紀錄單元
310‧‧‧控制器
312‧‧‧最後寫入頁記錄表
BLC1~BLC101、BLCX‧‧‧記憶區塊
P1~P8‧‧‧頁
WL1~WL4‧‧‧字元線
BL1~BLM‧‧‧位元線
Claims (19)
- 一種針對一記憶體的操作方法,該記憶體包括至少一記憶區塊,該至少一記憶區塊包括複數個第一頁以及對應於該些第一頁的複數個第二頁,該操作方法包括:
依據該些第一頁的有效性資訊,判斷該些第一頁中的一目標第一頁是否為有效,其中該目標第一頁係對應該些第二頁中的一目標第二頁;
若該目標第一頁為有效,對該目標第二頁進行一第一類型程式化操作;以及
若該目標第一頁為無效,對該目標第二頁進行一第二類型程式化操作。 - 如申請專利範圍第1項所述之操作方法,更包括:
在該些第一頁被程式化至不同條字元線後,對該些第二頁進行程式化。 - 如申請專利範圍第1項所述之操作方法,更包括:
依照一第一預定順序對該些第一頁進行程式化;
在完成對該些第一頁的程式化後,依照一第二預定順序對該些第二頁進行程式化。 - 如申請專利範圍第1項所述之操作方法,更包括:
當該些第一頁包括一無效第一頁以及一有效第一頁,在對該些第二頁中對應該有效第一頁者執行程式化前,優先對該些第二頁中對應該無效第一頁者程式化。 - 如申請專利範圍第1項所述之操作方法,更包括:
透過一低位元資料頁分配表,紀錄該些第二頁所對應的字元線編號。 - 如申請專利範圍第1項所述之操作方法,更包括:
在對該些第一頁寫入一第一資料前,對該些第一頁優先寫入一第二資料;
其中,該第二資料的更新頻率大於該第一資料的更新頻率。 - 如申請專利範圍第1項所述之操作方法,更包括:
先將一第一資料寫入該些第一頁,再將一第二資料寫入該些第一頁的剩餘空間;
其中,該第一資料的更新頻率大於該第二資料的更新頻率。 - 如申請專利範圍第1項所述之操作方法,更包括:
當該目標第一頁未被程式化入資料,設定該目標第一頁為無效。 - 一種針對一記憶體的操作方法,該記憶體包括一記憶區塊,該一記憶區塊包括一第一子區塊以及一第二子區塊,該第一子區塊包括複數個第一頁,該第二子區塊包括分別對應於該些第一頁的複數個第二頁,該操作方法包括:
依據該些第一頁的有效性資訊,判斷該些第一頁中的一目標第一頁是否為有效,其中該目標第一頁係對應該些第二頁中的一目標第二頁;
若該目標第一頁為無效,對該目標第二頁進行一類單階記憶胞程式化操作。 - 如申請專利範圍第9項所述之操作方法,更包括:
在程式化該第二子區塊之前,先程式化該第一子區塊。 - 如申請專利範圍第9項所述之操作方法,更包括:
依照一第一預定順序對該第一子區塊中的該些第一頁進行程式化;以及
接著,依照一第二預定順序對該第二子區塊中的該些第二頁進行程式化。 - 如申請專利範圍第9項所述之操作方法,更包括:
當該些第一頁包括一無效第一頁以及一有效第一頁,在對該些第二頁中對應該有效第一頁者執行程式化前,優先對該些第二頁中對應該無效第一頁者程式化。 - 如申請專利範圍第9項所述之操作方法,更包括:
在對該些第一頁寫入一第一資料前,對該些第一頁優先寫入一第二資料;
其中,該第二資料的更新頻率大於該第一資料的更新頻率。 - 如申請專利範圍第9項所述之操作方法,更包括:
當該目標第一頁未被程式化入資料,設定該目標第一頁為無效。 - 一種記憶體裝置,包括:
一記憶體,包括複數個記憶區塊,各該記憶區塊包括複數個第一頁以及對應於該些第一頁的複數個第二頁;
一第一類型記憶體功能模組,對該些記憶區塊進行一第一類型程式化操作;
一第二類型記憶體功能模組,對該些記憶區塊進行一第二類型程式化操作;
一有效資訊紀錄單元,用以記錄該些第一頁的有效性資訊;以及
一控制器,依據該有效資訊紀錄單元所記錄的該有效性資訊,控制該第一類型記憶體功能模組以及該第二類型記憶體功能模組,以選擇性地對該些第二頁執行一第一類型程式化操作或一第二類型程式化操作。 - 如申請專利範圍第15項所述之記憶體裝置,其中該控制器依據該有效性資訊判斷該些第一頁中的一目標第一頁是否為有效,其中該目標第一頁係對應該些第二頁中的一目標第二頁;
若該目標第一頁為有效,該控制器控制該第一類型記憶體功能模組對該目標第二頁進行一第一類型程式化操作;以及
若該目標第一頁為無效,該控制器控制該第二類型記憶體功能模組對該目標第二頁進行一第二類型程式化操作。 - 如申請專利範圍第15項所述之記憶體裝置,其中該些第一頁係依照一第一預定順序被程式化,而在該些第一頁完成程式化後,該些第二頁接著依照一第二預定順序被程式化。
- 如申請專利範圍第15項所述之記憶體裝置,其中若該些第一頁包括一無效第一頁以及一有效地一頁,該控制器在對該些第二頁中對應該有效第一頁者執行程式化前,優先對該些第二頁中對應該無效第一頁者程式化。
- 如申請專利範圍第15項所述之記憶體裝置,其中該控制器在對該些第一頁寫入一第一資料前,對該些第一頁優先寫入一第二資料;
其中,該第二資料的更新頻率大於該第一資料的更新頻率。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462084522P | 2014-11-25 | 2014-11-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201619970A TW201619970A (zh) | 2016-06-01 |
TWI578320B true TWI578320B (zh) | 2017-04-11 |
Family
ID=56010235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104123607A TWI578320B (zh) | 2014-11-25 | 2015-07-21 | 記憶體的操作方法及應用其之記憶體裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9740602B2 (zh) |
TW (1) | TWI578320B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10096355B2 (en) * | 2015-09-01 | 2018-10-09 | Sandisk Technologies Llc | Dynamic management of programming states to improve endurance |
US9823880B1 (en) * | 2016-09-30 | 2017-11-21 | Intel Corporation | Method and apparatus for initiating pre-read operation before completion of data load operation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307413A1 (en) * | 2008-06-09 | 2009-12-10 | Phison Electronics Corp. | Data writing method for flash memory and storage system and controller using the same |
US20100332922A1 (en) * | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US20120246397A1 (en) * | 2010-01-13 | 2012-09-27 | Hiroto Nakai | Storage device management device and method for managing storage device |
US20130039129A1 (en) * | 2011-08-12 | 2013-02-14 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
US20140133220A1 (en) * | 2012-11-13 | 2014-05-15 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI399643B (zh) * | 2009-12-31 | 2013-06-21 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與資料寫入方法 |
TWI420313B (zh) * | 2010-12-24 | 2013-12-21 | Phison Electronics Corp | 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置 |
US9298603B2 (en) * | 2011-09-09 | 2016-03-29 | OCZ Storage Solutions Inc. | NAND flash-based storage device and methods of using |
TWI456391B (zh) * | 2012-03-14 | 2014-10-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
KR20150015621A (ko) * | 2013-07-31 | 2015-02-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9564212B2 (en) * | 2014-05-06 | 2017-02-07 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
-
2015
- 2015-07-21 TW TW104123607A patent/TWI578320B/zh active
- 2015-07-22 US US14/805,498 patent/US9740602B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307413A1 (en) * | 2008-06-09 | 2009-12-10 | Phison Electronics Corp. | Data writing method for flash memory and storage system and controller using the same |
US20100332922A1 (en) * | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US20120246397A1 (en) * | 2010-01-13 | 2012-09-27 | Hiroto Nakai | Storage device management device and method for managing storage device |
US20130039129A1 (en) * | 2011-08-12 | 2013-02-14 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
US20140133220A1 (en) * | 2012-11-13 | 2014-05-15 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
Also Published As
Publication number | Publication date |
---|---|
TW201619970A (zh) | 2016-06-01 |
US9740602B2 (en) | 2017-08-22 |
US20160147464A1 (en) | 2016-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216193B2 (en) | Prioritized security | |
US10705736B2 (en) | Flash memory system | |
KR102042889B1 (ko) | 메모리의 구획들 내에서의 판독 액세스들의 카운팅을 통한 비휘발성 메모리들 상에서의 판독 교란들의 검출 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
US10910074B2 (en) | Memory controller and method of operating the same | |
US9281068B2 (en) | Nonvolatile memory and related reprogramming method | |
US9514830B2 (en) | Non-volatile memory device, memory system including the same, and method of operating the same | |
TWI718640B (zh) | 抹除具有極少程式化頁面的區塊的系統與方法 | |
KR102451154B1 (ko) | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법 | |
TWI545571B (zh) | 存取快閃記憶體的方法及相關的控制器與記憶裝置 | |
TW201624488A (zh) | 資料儲存裝置及其操作方法 | |
TWI533305B (zh) | 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
KR20220013661A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
KR20220105303A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102691947B1 (ko) | 메모리 장치 및 그 동작 방법 | |
US9053011B2 (en) | Selective protection of lower page data during upper page write | |
CN106356093B (zh) | 存储器的操作方法及应用其的存储器装置 | |
CN111883197A (zh) | 存储装置及其操作方法 | |
US8732391B2 (en) | Obsolete block management for data retention in nonvolatile memory | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11216208B1 (en) | Memory system, memory controller, and operation method of memory system | |
TWI578320B (zh) | 記憶體的操作方法及應用其之記憶體裝置 | |
JP7137708B2 (ja) | ファームウェアの状態に基づく自動パワーダウン | |
TWI823649B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置 |