TW201443644A - 管理非揮發性記憶體之方法及其非揮發性儲存裝置 - Google Patents

管理非揮發性記憶體之方法及其非揮發性儲存裝置 Download PDF

Info

Publication number
TW201443644A
TW201443644A TW102134622A TW102134622A TW201443644A TW 201443644 A TW201443644 A TW 201443644A TW 102134622 A TW102134622 A TW 102134622A TW 102134622 A TW102134622 A TW 102134622A TW 201443644 A TW201443644 A TW 201443644A
Authority
TW
Taiwan
Prior art keywords
memory
data
page
groups
volatile
Prior art date
Application number
TW102134622A
Other languages
English (en)
Inventor
Ming-Yu Tai
Yi-Chun Liu
Original Assignee
Skymedi Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Skymedi Corp filed Critical Skymedi Corp
Publication of TW201443644A publication Critical patent/TW201443644A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種管理一非揮發性記憶體之方法,該非揮發性記憶體包含有複數個記憶體區塊,其中每一記憶體區塊包含有複數個記憶體分頁。該方法包含有將該複數個記憶體分頁中一記憶體分頁分割為複數個群組;以及將一資料及對應於該資料之一映射資訊寫入該複數個群組中不同群組。

Description

管理非揮發性記憶體之方法及其非揮發性儲存裝置
本發明係指一種管理非揮發性記憶體之方法及其非揮發性儲存裝置,尤指一種可在一次寫入一記憶體分頁的操作中同時寫入資料及映射資訊之管理非揮發性記憶體之方法及其非揮發性儲存裝置。
對一般非揮發性儲存裝置而言,主機端通常是以區段(Sector)為單位對非揮發性記憶體進行管理,而非揮發性記憶體之最小寫入單位則是根據一記憶體分頁(Memory Page)的大小而定。傳統上,會將一區段的大小設計為相等於一記憶體分頁的大小,使得頁映射時的寫入效率可達到最大。當主機端欲將一區段大小的資料寫入非揮發性記憶體時,此資料可透過頁映射的方式寫入一完整的記憶體分頁,而不浪費記憶體分頁中的任何空間。
近年來,隨著人們對儲存空間的高度需求,非揮發性記憶體的大小不斷地增加,而記憶體分頁的大小也隨之而增加,然而,區段的大小卻沒有明顯變化。在此情況下,當一記憶體分頁中一區段大小的資料欲更新時,此區段的更新資料必須寫入一新的記憶體分頁,而在新的記憶體分頁中其它多餘的記憶空間則必須填補原記憶體分頁中其它資料,因而造成記憶體空間的浪費以及寫入效率的低落。舉例來說,請參考第1圖,第1圖為資料D1寫入一記憶體分頁P1之示意圖。若資料D1的大小等於4kB而記憶體分頁P1的大小等於16kB,當主機端欲藉由一記憶體控制器將資料D1寫入記憶體 分頁P1時,資料D1會佔據記憶體分頁P1中4kB的空間,其它12kB的記憶空間則必須用來儲存其它資料,因而造成此12kB記憶體空間的浪費。此外,由於記憶體控制器必須一次寫入完整的記憶體分頁大小(16kB),但僅有4kB的資料須寫入,因此程式運作會額外佔用記憶體控制器的12kB頻寬。在此情況下,寫入效率會大幅降低。
在一般的非揮發性記憶體中,資料會在一次寫入操作中被寫入一記憶體分頁,此資料可能為一使用者資料(User Data)、對應於使用者資料之一映射資訊(Mapping Information)、垃圾回收(Garbage Collection)資料或平均抹寫儲存區塊(Wear-Leveling)資料等。在這些資料中,不同類型的資料會寫入不同記憶體分頁。舉例來說,當一區段大小的使用者資料欲寫入非揮發性記憶體時,對應於該使用者資料的映射資訊必須隨之而更新,使得系統須分配至少兩個記憶體分頁來處理該使用者資料(一記憶體分頁處理使用者資料以及另一記憶體分頁處理映射資訊)。在此情況下,除了在儲存使用者資料的記憶體分頁中可能產生浪費之外,系統還須透過另一次寫入操作來更新映射資訊。因此,記憶體控制器之寫入效能無法有效率地運用。有鑑於此,習知技術實有改進之必要。
因此,本發明之主要目的即在於提供一種可在一次寫入一記憶體分頁的操作中同時寫入資料及映射資訊之管理非揮發性記憶體之方法。
本發明揭露一種管理一非揮發性記憶體之方法,該非揮發性記憶體包含有複數個記憶體區塊,其中每一記憶體區塊包含有複數個記憶體分頁。該方法包含有將該複數個記憶體分頁中一記憶體分頁分割為複數個群組;以及將一資料及對應於該資料之一映射資訊寫入該複數個群組中不同群組。
本發明另揭露一種非揮發性儲存裝置,包含有一非揮發性記憶體,包含有複數個記憶體區塊,其中每一記憶體區塊包含有複數個記憶體分頁;以及一記憶體控制器,耦接於該非揮發性記憶體。該記憶體控制器藉由執行以下步驟,對該非揮發性記憶體進行管理:將該複數個記憶體分頁中一記憶體分頁分割為複數個群組;以及將一資料及對應於該資料之一映射資訊寫入該複數個群組中不同群組。
20‧‧‧非揮發性儲存裝置
210‧‧‧記憶體控制器
220‧‧‧非揮發性記憶體
250‧‧‧主機端
P1、P3、P41、P42、P50~P53、P60、P61、P70~P77‧‧‧記憶體分頁
P5A、P5B、P6、P7A、P7B‧‧‧超級頁
PL0~PL3‧‧‧層面
D1~D7、UD‧‧‧使用者資料
M1~M4、MI‧‧‧映射資訊
GC1~GC9、GC‧‧‧垃圾回收資料
WL1、WL‧‧‧平均抹寫儲存區塊資料
第1圖為資料寫入一記憶體分頁之示意圖。
第2圖為本發明實施例一非揮發性儲存裝置受控於一主機端之示意圖。
第3圖為本發明實施例一記憶體分頁之示意圖。
第4圖為本發明實施例記憶體分頁之示意圖。
第5圖為本發明實施例超級頁之示意圖。
第6圖為本發明實施例一超級頁進行備份之示意圖。
第7圖為本發明實施例超級頁之示意圖。
請參考第2圖,第2圖為本發明實施例一非揮發性儲存裝置20受控於一主機端250之示意圖。如第2圖所示,非揮發性儲存裝置20包含有一記憶體控制器210及一非揮發性記憶體220。非揮發性記憶體220由複數個記憶體區塊(Memory Block)所組成,其中每一記憶體區塊由複數個記憶體分頁(Memory Page)所組成。非揮發性記憶體220可為一反及閘快閃記憶體(NAND Flash Memory)或其它類型之非揮發性記憶體。記憶體控制器210可用來管理非揮發性記憶體220。記憶體控制器210可與主機端250進行通訊,使得主機端250可透過記憶體控制器210在非揮發性記憶體220上讀取 或寫入資料。在一資料寫入流程中,主機端250係藉由邏輯儲存空間來管理資料,記憶體控制器210則用來將邏輯儲存空間映射至非揮發性記憶體220之一實體儲存空間,以進行資料管理。
在習知技術中,當一區段大小的資料(4kB)欲寫入一記憶體分頁(16kB)時,會浪費記憶體控制器210的頻寬資源,且非揮發性記憶體220中多餘的記憶體空間須用來儲存其它資料。另一方面,當一記憶體分頁的大小等於區段大小時,效率可達到最大。因此,需要根據區段大小,將一記憶體分頁切割為複數個群組,使得一區段大小的資料可儲存於一群組中。在此情況下,記憶體分頁之實體位址係以群組大小為單位映射至邏輯位址。舉例來說,若一記憶體分頁的大小等於16kB而一區段大小等於4kB,較佳地,記憶體分頁可分割為4個群組,使得每一區段的資料可儲存於一完整的群組。在記憶體分頁中,一實體群組係映射至一邏輯群組。如此一來,每一群組皆可用來儲存一區段大小的資料,而不浪費任何記憶體空間。
為了有效運用記憶體空間及記憶體控制器210之頻寬,每一記憶體分頁中的群組皆必須儲存有效的資料。於部分實施例中,在每一次寫入操作時,欲寫入的使用者資料長度可能不會等於4個區段大小。若只有2個區段大小的使用者資料欲儲存時,記憶體分頁中只有2個群組為使用者資料所佔用。在此情況下,另外2個群組可用來儲存其它資料,例如映射資訊、垃圾回收資料或平均抹寫儲存區塊資料等。因此,寫入同一記憶體分頁中的資料可包含如使用者資料、映射資訊、垃圾回收資料及平均抹寫儲存區塊資料等不同類型的資料。如此一來,不同類型的資料可在一次寫入操作中同時寫入一記憶體分頁。
舉例來說,請參考第3圖,第3圖為本發明實施例一記憶體分頁 P3之示意圖。如第3圖所示,3個區段大小的使用者資料D2~D4欲寫入記憶體分頁P3。由於記憶體分頁P3的大小等於16kB而區段長度等於4kB,記憶體分頁P3可切割為4個群組。在記憶體分頁P3中,3個群組係用來儲存使用者資料D2~D4,而另一群組可用來儲存映射資訊M1。換句話說,使用者資料D2~D4及映射資訊M1可在一次寫入操作中同時寫入記憶體分頁P3中的不同群組。
一般來說,映射資訊M1記錄了相關於使用者資料D2~D4之邏輯位址映射至記憶體分頁P3中相對應群組之實體位址的資訊。映射資訊M1亦可包含相關於一實體位址映射至一邏輯位址的資訊。於部分實施例中,映射資訊M1包含有相關於記憶體分頁P3的實體位址映射至使用者資料D2~D4的邏輯位址之資訊。於部分實施例中,控制器可利用這些映射資訊,如邏輯位址映射至實體位址以及實體位址映射至邏輯位址之資訊,來進行垃圾回收及/或平均抹寫儲存區塊功能。
值得注意的是,當儲存於一特定記憶體分頁的映射資訊包含有相關於該特定記憶體分頁中其它群組所儲存資料之映射資訊時,此資料與其相對應的映射資訊可在一次寫入操作中同時更新。在此情況下,斷電恢復(Power-off Recovery,POR)的管理會更加容易。在一習知非揮發性記憶體中,資料及其相對應的映射資訊必須各別寫入非揮發性記憶體。一旦發生斷電意外,記憶體控制器必須根據資料是否已更新以及相對應的映射資訊是否已更新來進行斷電恢復。相較之下,在本發明上述實施例之非揮發性記憶體中,資料及相對應映射資訊可在一次寫入操作中同時寫入不同群組。在此情況下,當發生斷電意外而必須執行斷電恢復時,上述情況可簡化為:資料及相對應的映射資訊是否已更新;亦即,資料及其相對應的映射資訊必然會在同一時間更新,可大幅降低系統執行斷電恢復的複雜度。
於部分實施例中,可能只會有一區段大小的使用者資料欲儲存於非揮發性記憶體中,且相對應的映射資訊亦必須隨之而更新。請參考第4圖,第4圖為本發明實施例記憶體分頁P41及P42之示意圖。如第4圖所示,一區段大小的使用者資料D5及其相對應的映射資訊M2欲寫入記憶體分頁P41中。由於記憶體分頁P41的大小等於16kB而區段長度等於4kB,記憶體分頁P41可切割為4個群組。然而,寫入記憶體分頁P41的資料僅包含一使用者資料D5及其相對應的映射資訊M2,這些資料僅佔用記憶體分頁P41中2個群組,而另外2個群組為多餘的。為有效利用記憶體分頁P41的儲存空間,此2個群組可用來儲存垃圾回收資料或平均抹寫儲存區塊資料。如第4圖所示,一區段大小的垃圾回收資料GC1及一區段大小的平均抹寫儲存區塊資料WL1與使用者資料D5同時寫入記憶體分頁P41中,映射資訊M2亦可同時包含對應於垃圾回收資料GC1及平均抹寫儲存區塊資料WL1的映射資訊。
值得注意的是,欲填入群組的資料大小亦可能大於群組大小,因此資料須儲存於一個以上的群組,如第4圖中的記憶體分頁P42所示。一區段大小的使用者資料D6及其相對應的映射資訊M3同時寫入記憶體分頁P42中。記憶體分頁P42的大小亦等於16kB並分割為4個群組。在記憶體分頁P42中,2個群組分別用來儲存使用者資料D6及映射資訊M3,而另外2個群組皆可用來儲存垃圾回收資料GC2。若垃圾回收資料GC2的大小大於4kB時(例如等於8kB),垃圾回收資料GC2即可填入記憶體分頁P42中此2個群組,使得記憶體分頁P42的空間能夠有效運用,記憶體控制器的效率亦可達到最佳化。
對一般非揮發性記憶體而言,垃圾回收係在抹除一記憶體區塊之前,將該記憶體區塊中的有效資料從一記憶體分頁搬移至另一記憶體區塊之 記憶體分頁,平均抹寫儲存區塊則是一種資料配置方法使資料的抹除及寫入可平均分散於非揮發性記憶體中,進而延長非揮發性記憶體之壽命。在習知非揮發性記憶體中,相關於垃圾回收及平均抹寫儲存區塊運作的資料皆必須各別處理。相較之下,在本發明上述實施例中,由於一記憶體分頁係切割為多個群組,且每一實體群組皆可映射至一邏輯群組,因此垃圾回收資料及平均抹寫儲存區塊資料可同時寫入一記憶體分頁中的不同群組。如第4圖之記憶體分頁P41所示,當2個群組分別填入使用者資料D5及映射資訊M2之後,另外2個群組可用來儲存垃圾回收資料GC1及平均抹寫儲存區塊資料WL1,使得記憶體控制器可進行垃圾回收及平均抹寫儲存區塊的運作,而此垃圾回收及平均抹寫儲存區塊係原先系統預設欲在一段時間之後進行的工作。如此一來,可提升系統執行垃圾回收及平均抹寫儲存區塊的效率。
值得注意的是,上述實施例亦可應用於多層面寫入(Multi-Plane Programming)的情況。於部分實施例中,在不同層面(Plane)的不同記憶體區塊中數個記憶體分頁可結合為一超級頁(Super Page)。請參考第5圖,第5圖為本發明實施例超級頁P5A及P5B之示意圖。如第5圖所示,超級頁P5A由記憶體分頁P50及P51所組成,其中記憶體分頁P50位於一層面PL0而記憶體分頁P51位於一層面PL1。每一記憶體分頁的大小等於8kB,而主機端用來管理非揮發性記憶體的區段單位等於4kB,因此每一記憶體分頁P50及P51可分割為2個群組。在一次寫入操作中,資料係同時寫入超級頁P5中的記憶體分頁P50及P51,因此4個區段大小的資料即可完整寫入超級頁,其中,寫入的資料可為映射資訊(MI)、使用者資料(UD)、垃圾回收資料(GC)或平均抹寫儲存區塊資料(WL),如第5圖之超級頁P5A所示。
同樣地,當資料大小大於群組大小時,須使用一個以上的群組來儲存資料,如超級頁P5B所示。超級頁P5B由記憶體分頁P52及P53所組成, 其中記憶體分頁P52位於層面PL0而記憶體分頁P53位於層面PL1。每一記憶體分頁的大小等於8kB,而主機端用來管理非揮發性記憶體的區段單位等於4kB,因此每一記憶體分頁P52及P53可分割為2個群組。映射資訊及使用者資料分別儲存於記憶體分頁P52之一群組。垃圾回收資料GC3的大小等於8kB,因此必須佔用超級頁P5B中2個群組。如第5圖所示,記憶體分頁P53之2個群組皆用來儲存垃圾回收資料GC3。
在應用於超級頁的實施例中,超級頁中不同記憶體分頁之間可進行備份。請參考第6圖,第6圖為本發明實施例一超級頁P6進行備份之示意圖。如第6圖所示,超級頁P6由記憶體分頁P60及P61所組成,其中記憶體分頁P60位於層面PL0而記憶體分頁P61位於層面PL1。每一記憶體分頁的大小等於8kB,而主機端用來管理非揮發性記憶體的區段單位等於4kB,因此每一記憶體分頁P60及P61可分割為2個群組。當使用者資料D7欲寫入超級頁P6時,使用者資料D7可同時寫入記憶體分頁P60及P61中,以進行備份。對應於使用者資料D7的映射資訊M4亦可同時在記憶體分頁P60及P61內更新。在此情況下,超級頁P6中所有群組皆能夠有效運用,而不浪費記憶體分頁中任何空間,也不浪費記憶體控制器的頻寬資源。
在習知非揮發性儲存系統中,當使用者資料欲寫入非揮發性記憶體時,通常會在主機端的暫存器中保留使用者資料以進行備份,直到寫入的動作完成為止。在此情況下,在資料寫入期間內,資料必須持續儲存於暫存器中。相較之下,若使用者資料在一次寫入操作中同時寫入2個記憶體分頁,其中一記憶體分頁即可視為備份。在此情況下,主機端的暫存器在主機端對記憶體控制器下命令完成之後即可釋放出來,可大幅降低所需的暫存器空間大小。
請參考第7圖,第7圖為本發明實施例超級頁P7A及P7B之示意圖。如第7圖所示,超級頁P71及P72具有4層面結構。超級頁P7A包含有4個記憶體分頁P70~P73,分別位於層面PL0~PL3,超級頁P7B包含有4個記憶體分頁P74~P77,分別位於層面PL0~PL3。每一記憶體分頁的大小皆等於8kB,而主機端用來管理非揮發性記憶體的區段單位等於4kB,因此每一記憶體分頁P70~P77可分割為2個群組,其中每一群組大小等於4kB。即使只有一使用者資料欲儲存於超級頁P7A或P7B而使得超級頁P7A或P7B中只有一群組儲存使用者資料,其它群組皆可用來填補垃圾回收資料以及相對應的映射資訊。在超級頁P7A中,垃圾回收資料GC4的大小等於8kB並佔用記憶體分頁P72之2個群組,垃圾回收資料GC5的大小等於8kB並佔用記憶體分頁P73之2個群組。由於映射資訊同時對應於使用者資料以及垃圾回收資料GC4及GC5,因此,映射資訊亦可能需要使用更多群組來儲存。在此情況下,記憶體分頁P70之2個群組及記憶體分頁P71之1群組可用來儲存映射資訊。在超級頁P7B中,每一垃圾回收資料GC6~GC9的大小等於4kB,垃圾回收資料GC6~GC9並分別填入記憶體分頁P76或P77中一群組。由於映射資訊同時對應於使用者資料以及垃圾回收資料GC6~GC9,因此映射資訊亦可能需要使用更多群組來儲存。在此情況下,記憶體分頁P74之2個群組及記憶體分頁P75之1群組可用來儲存映射資訊。
值得注意的是,本發明可根據主機端用來管理非揮發性記憶體的區段大小,將一記憶體分頁分割為多個群組,並在不同群組中寫入不同類型的資料。本領域具通常知識者當可據以修飾或變化,而不限於此。舉例來說,在一次寫入操作中,主機端可根據系統需求,寫入任何類型的資料,其包含但不限於使用者資料、垃圾回收資料、平均抹寫儲存區塊資料及對應於上述每一種資料的映射資訊。除此之外,資料在不同群組中的配置方式亦可根據系統需求而定,例如斷電恢復或備份的需求。
在習知技術中,當一記憶體分頁中一區段大小的資料欲更新時,此區段的更新資料必須寫入一新的記憶體分頁,而在新的記憶體分頁中其它多餘的記憶空間則必須填補原記憶體分頁中其它資料,因而造成記憶體空間的浪費以及寫入效率的低落。此外,在每一次寫入操作中,一記憶體分頁只能寫入一種類型的資料。相較之下,本發明可將記憶體分頁切割為複數個群組,而每一邏輯群組可映射至一實體群組。不同類型的資料可儲存在同一記憶體分頁的不同群組中,可提升記憶體控制器的頻寬使用效率以及記憶體的空間使用效率。除此之外,使用者資料備份及斷電恢復管理的效能也可同時獲得提升。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
P3‧‧‧記憶體分頁
M1‧‧‧映射資訊
D2~D4‧‧‧使用者資料

Claims (20)

  1. 一種管理一非揮發性記憶體之方法,該非揮發性記憶體包含有複數個記憶體區塊,其中每一記憶體區塊包含有複數個記憶體分頁,該方法包含有:將該複數個記憶體分頁中一記憶體分頁分割為複數個群組;以及將一資料及對應於該資料之一映射資訊寫入該複數個群組中不同群組。
  2. 如請求項1所述之方法,另包含有:以一群組之大小為單位來映射一邏輯位址至一實體位址。
  3. 如請求項1所述之方法,其中將該資料及對應於該資料之該映射資訊寫入該複數個群組中不同群組之步驟係進行於一次寫入該記憶體分頁的操作。
  4. 如請求項1所述之方法,其中該資料包含一使用者資料、一垃圾回收資料或一平均抹寫儲存區塊資料。
  5. 如請求項1所述之方法,其中該映射資訊包含相關於該資料之一邏輯位址映射至該非揮發性記憶體之一實體位址之資訊。
  6. 如請求項1所述之方法,其中該映射資訊包含相關於該資料之一實體位址映射至一邏輯位址之資訊。
  7. 如請求項1所述之方法,另包含有:結合不同記憶體區塊中的記憶體分頁,以產生一超級頁(Super Page)。
  8. 如請求項7所述之方法,另包含有:將該資料分別寫入該超級頁中不同記憶體分頁。
  9. 如請求項8所述之方法,其中該資料包含一使用者資料。
  10. 如請求項1所述之方法,其中該資料係儲存於該記憶體分頁之該複數個群組中至少一群組。
  11. 一種非揮發性儲存裝置,包含有:一非揮發性記憶體,包含有複數個記憶體區塊,其中每一記憶體區塊包含有複數個記憶體分頁;以及一記憶體控制器,耦接於該非揮發性記憶體,藉由執行以下步驟,對該非揮發性記憶體進行管理:將該複數個記憶體分頁中一記憶體分頁分割為複數個群組;以及將一資料及對應於該資料之一映射資訊寫入該複數個群組中不同群組。
  12. 如請求項11所述之非揮發性儲存裝置,其中該記憶體控制器另執行以下步驟,以對該非揮發性記憶體進行管理:以一群組之大小為單位來映射一邏輯位址至一實體位址。
  13. 如請求項11所述之非揮發性儲存裝置,其中該資料及對應於該資料之該映射資訊係在一次寫入該記憶體分頁的操作中寫入該複數個群組中不同群組。
  14. 如請求項11所述之非揮發性儲存裝置,其中該資料包含一使用者資料、一垃圾回收資料或一平均抹寫儲存區塊資料。
  15. 如請求項11所述之非揮發性儲存裝置,其中該映射資訊包含相關於該資料之一邏輯位址映射至該非揮發性記憶體之一實體位址之資訊。
  16. 如請求項11所述之非揮發性儲存裝置,其中該映射資訊包含相關於該資料之一實體位址映射至一邏輯位址之資訊。
  17. 如請求項11所述之非揮發性儲存裝置,其中該記憶體控制器另執行以下步驟,以對該非揮發性記憶體進行管理:結合不同記憶體區塊中的記憶體分頁,以產生一超級頁(Super Page)。
  18. 如請求項17所述之非揮發性儲存裝置,其中該記憶體控制器另執行以下步驟,以對該非揮發性記憶體進行管理:將該資料分別寫入該超級頁中不同記憶體分頁。
  19. 如請求項18所述之非揮發性儲存裝置,其中該資料包含一使用者資料。
  20. 如請求項11所述之非揮發性儲存裝置,其中該資料係儲存於該記憶體分頁之該複數個群組中至少一群組。
TW102134622A 2013-05-02 2013-09-25 管理非揮發性記憶體之方法及其非揮發性儲存裝置 TW201443644A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361818884P 2013-05-02 2013-05-02
US13/953,764 US20140328127A1 (en) 2013-05-02 2013-07-30 Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same

Publications (1)

Publication Number Publication Date
TW201443644A true TW201443644A (zh) 2014-11-16

Family

ID=51841360

Family Applications (2)

Application Number Title Priority Date Filing Date
TW102134622A TW201443644A (zh) 2013-05-02 2013-09-25 管理非揮發性記憶體之方法及其非揮發性儲存裝置
TW102135084A TW201443638A (zh) 2013-05-02 2013-09-27 用於非揮發性記憶體之動態調整映射方式之方法及其非揮發性儲存裝置

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW102135084A TW201443638A (zh) 2013-05-02 2013-09-27 用於非揮發性記憶體之動態調整映射方式之方法及其非揮發性儲存裝置

Country Status (2)

Country Link
US (2) US20140328127A1 (zh)
TW (2) TW201443644A (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281067B1 (en) * 2014-08-11 2016-03-08 Samsung Electronics Co., Ltd. Semiconductor test system and operation method of the same
TWI553477B (zh) * 2015-06-12 2016-10-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI584122B (zh) * 2015-11-17 2017-05-21 群聯電子股份有限公司 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI609323B (zh) * 2016-01-29 2017-12-21 捷鼎國際股份有限公司 資料儲存方法及其系統
CN107025062B (zh) * 2016-01-29 2020-03-06 宜鼎国际股份有限公司 数据储存方法及其系统
US10459635B2 (en) * 2016-02-11 2019-10-29 SK Hynix Inc. Window based mapping
US10733107B2 (en) 2016-10-07 2020-08-04 Via Technologies, Inc. Non-volatile memory apparatus and address classification method thereof
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
US11520696B2 (en) * 2018-06-28 2022-12-06 Seagate Technology Llc Segregating map data among different die sets in a non-volatile memory
US11042490B2 (en) 2018-11-15 2021-06-22 Micron Technology, Inc. Address obfuscation for memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
US8762620B2 (en) * 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US8949568B2 (en) * 2011-05-24 2015-02-03 Agency For Science, Technology And Research Memory storage device, and a related zone-based block management and mapping method
KR101289931B1 (ko) * 2011-09-23 2013-07-25 한양대학교 산학협력단 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치

Also Published As

Publication number Publication date
US20140331024A1 (en) 2014-11-06
TW201443638A (zh) 2014-11-16
US20140328127A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
TW201443644A (zh) 管理非揮發性記憶體之方法及其非揮發性儲存裝置
US11237769B2 (en) Memory system and method of controlling nonvolatile memory
US9645894B2 (en) Data storage device and flash memory control method
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP6192024B2 (ja) ソリッドステートドライブにおいて再構築された断片化ファームウェアテーブルのための方法、データストレージデバイス及びシステム
EP2920698B1 (en) Methods and devices for avoiding lower page corruption in data storage devices
KR102088403B1 (ko) 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법
KR100946286B1 (ko) 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템
US20130151892A1 (en) Data storing method for solid state drive to preserve data integrity after power failure
US9990277B2 (en) System and method for efficient address translation of flash memory device
US20100082917A1 (en) Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method
US20070094445A1 (en) Method to enable fast disk caching and efficient operations on solid state disks
US20100088461A1 (en) Solid state storage system using global wear leveling and method of controlling the solid state storage system
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
KR20150138528A (ko) 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
US20130275655A1 (en) Memory management method and memory controller and memory storage device using the same
JP2018101411A (ja) データストレージデバイスおよびその操作方法
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
WO2021080774A1 (en) Construction of a block device
TWI790628B (zh) 記憶體系統及控制方法
CN104133774A (zh) 管理非易失性存储器的方法及其非易失性存储装置
WO2021080785A1 (en) Construction of a block device
JP2009259145A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2007233838A (ja) メモリシステムの制御方法
US11675695B2 (en) Namespace management for memory sub-systems