TW201917581A - 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 - Google Patents

管理快閃記憶體模組的方法及相關的快閃記憶體控制器 Download PDF

Info

Publication number
TW201917581A
TW201917581A TW107101829A TW107101829A TW201917581A TW 201917581 A TW201917581 A TW 201917581A TW 107101829 A TW107101829 A TW 107101829A TW 107101829 A TW107101829 A TW 107101829A TW 201917581 A TW201917581 A TW 201917581A
Authority
TW
Taiwan
Prior art keywords
data
flash memory
block
address mapping
memory module
Prior art date
Application number
TW107101829A
Other languages
English (en)
Inventor
陳英洲
李俊陞
張建偉
李界鋒
趙本亮
Original Assignee
聯發科技股份有限公司
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 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW201917581A publication Critical patent/TW201917581A/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/08Address circuits; Decoders; Word-line control 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups

Abstract

一種管理一快閃記憶體模組的方法包含有:依序建立多個區段之多筆區段位址映射資料,其中該多筆區段位址映射資料包含了每一個區段之邏輯位址及相對應的實體位址;將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集,並將該部分區段的資料搬移至該快閃記憶體模組中具有連續實體位址的多個資料頁;以及建立該叢集之一叢集位址映射資料,並抹除先前所建立之對應於該部分區段之區段位址映射資料。

Description

管理快閃記憶體模組的方法及相關的快閃記憶體控制器
本發明係有關於快閃記憶體,尤指一種管理快閃記憶體模組的方法及相關的快閃記憶體控制器。
在快閃記憶體控制器中會具有一快閃記憶體轉換層(Flash Translation Layer,FTL),以將檔案系統中的邏輯位址轉換為快閃記憶體模組中的實體位址,並藉此管理及控制快閃記憶體模組中的區塊使用狀況。快閃記憶體轉換層通常會具有兩個問題,其中第一個問題是如何增加邏輯位址及實體位址的查詢/轉換速度,以加速資料存取;而第二個問題是如何降低快閃記憶體模組中的區塊抹除次數,以延長快閃記憶體模組的壽命。具體來說,由於目前快閃記憶體模組的容量越來越大,故用來記錄邏輯位址及實體位址關係的區段位址映射表的容量也越來越大,因此會導致邏輯/實體位址的搜尋速度變慢;另一方面,由於區段位址映射表會儲存在快閃記憶體模組中,再加上區段位址映射表中的內容會因為快閃記憶體模組中所儲存之資料的變動而需要頻繁地更新,因此在區段位址映射表的容量變大的情形下更會造成快閃記憶體模組中的區塊抹除次數大幅增加,而影響到快閃記憶體模組的壽命。
因此,本發明的目的之一在於提供一種位址映射表的設計與管理方法,其可以大幅降低位址映射表的容量,以加速邏輯/實體位址的搜尋速度,並延長快閃記憶體模組的壽命。
在本發明的一個實施例中,揭露了一種管理一快閃記憶體模組的方法,其包含有:依序建立多個區段之多筆區段位址映射資料,其中該多筆區段位址映射資料包含了每一個區段之邏輯位址及相對應的實體位址;將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集,並將該部分區段的資料搬移至該快閃記憶體模組中具有連續實體位址的多個資料頁;以及建立該叢集之一叢集位址映射資料,並抹除先前所建立之對應於該部分區段之區段位址映射資料。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有一記憶體以及一微處理器,其中該記憶體係用來儲存一程式碼,且該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取。在該快閃記憶體控制器的操作中,該微處理器依序建立多個區段之多筆區段位址映射資料,其中該多筆區段位址映射資料包含了每一個區段之邏輯位址及相對應的實體位址;且該微處理器將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集,並將該部分區段的資料搬移至該快閃記憶體模組中具有連續實體位址的多個資料頁,以及建立該叢集之一叢集位址映射關係,並抹除先前所建立之對應於該部分區段之區段位址映射資料。
在本發明的另一個實施例中,揭露了一種管理一快閃記憶體模組的方法,其包含有:建立一位址映射表,其中該位址映射表包含了多個區段之邏輯位址及相對應的實體位址;以及將該位址映射表連同其他資料一併寫入至該快閃記憶體模組中的同一個資料頁中,其中該其他資料無關於任何有關於邏輯位址及實體位址的映射資料。
在本發明的另一個實施例中,揭露了一種管理一快閃記憶體模組的方法,其包含有:讀取一第一區塊中所儲存的一抹除序號,其中該抹除序號係用來表示該第一區塊在上一次進行抹除操作是該快閃記憶體模組中整體所進行的第幾次抹除操作;根據該抹除序號來判斷該第一區塊中的資料為熱資料或是冷資料;當該第一區塊中的資料被判斷為冷資料時,將該第一區塊使用中的資料複製到一第二區塊中;以及抹除該第一區塊中的資料。然後以同樣的方式將其他區塊的冷資料集中到第二區塊,之後第二區塊的冷資料就不太會移動,可減少不必要的搬移。
第1圖為存取一快閃記憶體模組120的架構圖,其繪示了一檔案系統112透過一快閃記憶體轉換層(FTL)114來將資料寫入至快閃記憶體模組120,或是透過快閃記憶體轉換層114自快閃記憶體模組120中讀取資料。在一般的快閃記憶體裝置中,由於快閃記憶體模組120與主裝置(例如,電腦或處理器)的檔案系統112並不相同,因此需要使用快閃記憶體轉換層114來將主裝置之檔案系統112中的邏輯位址轉換為快閃記憶體模組120中所使用的實體位址,以順利地對快閃記憶體模組120進行存取操作。此外,除了進行邏輯位址與實體位址之間的轉換之外,快閃記憶體轉換層114另可藉此管理及控制快閃記憶體模組120中的區塊使用狀況。
第2圖為根據本發明一實施例之記憶裝置100的示意圖。記憶裝置100包含了一快閃記憶體控制器110以及快閃記憶體模組120,其中快閃記憶體控制器110包含了一介面電路211、一微處理器212、一唯讀記憶體213、一緩衝記憶體215以及一控制邏輯216。唯讀記憶體213係用來儲存一程式碼214,而微處理器212則用來執行程式碼214以控制對快閃記憶體模組120之存取,亦即,第1圖所示之快閃記憶體轉換層114可以透過微處理器212執行程式碼214來實作。此外,快閃記憶體控制器110係透過介面電路322連接至一主裝置(例如,電腦或處理器),且該主裝置可以透過快閃記憶體控制器110來存取快閃記憶體模組120。
快閃記憶體模組120包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含複數個區塊(block),而每一個區塊又包含了多個資料頁(page)。在快閃記憶體模組120的規範中,快閃記憶體控制器110對快閃記憶體模組120進行抹除操作係以區塊為單位來進行,亦即區塊是一個最小的抹除單位;此外,快閃記憶體控制器110對快閃記憶體模組120進行寫入操作係以資料頁為單位來進行,亦即資料頁是一個最小的寫入單位。
在本實施例中,當主裝置需要將資料寫入到快閃記憶體模組120時,係依序地將多筆資料循序地傳送至快閃記憶體控制器110中,其中每一筆資料係具有一固定的大小。在目前常用的檔案系統中,每一筆資料對應到一區段(sector),且其小為4KB。在每一個區段的資料(亦即,上述的每一筆資料)寫入到快閃記憶體模組120的過程中,微處理器212也會同時建立該區段的一筆區段位址映射資料,其中該筆區段位址映射資料包含了該區段之邏輯位址及相對應的實體位址。該筆區段位址映射資料會先暫時儲存在緩衝記憶體215中,並等待後續適合的時間點再儲存至快閃記憶體模組120中。如上所述,由於每一個區段的資料在寫入至快閃記憶體模組120都會需要建立一筆區段位址映射資料,因此,當快閃記憶體模組120的容量越來越大時(例如8GB、16GB以上),區段位址映射資料的資料量也會相當龐大,因而造成緩衝記憶體215的負擔且也浪費了快閃記憶體模組120中的空間。此外,在區段位址映射資料的資料量過大的情形下,也有可能會降低邏輯位址及實體位址的查詢/轉換速度。
因此,為了解決上述區段位址映射資料的資料量過大的問題,本實施例提出了一種可以縮減區段位址映射資料的方法,其透過將具有連續邏輯位址的多個區段合併為一個叢集(cluster),並將原本的多個區段位址映射資料縮減為單一個叢集位址映射資料,以降低位址映射資料的數量。
具體來說,參考第3圖,其為根據本發明一實施例之多個映射位址表的示意圖。在第3圖的實施例中,其主要設計了三層的映射位址表,其中第一層是FTL組態,其記錄了多個叢集位址映射表群組CMT_G0、CMT_G1、CMT_G2…等等在快閃記憶體模組120中的位址;第二層是每一個叢集位址映射表群組所包含的多個項目,第3圖係以叢集位址映射表群組CMT_G0為例,其包含了多個項目C1~C3,且每一個項目均對應至多個區段;而第三層則是區段位址映射表,其包含了多筆區段位址映射資料S1~S15。在本實施例中,項目C1對應到128個具有連續邏輯位址及連續實體位址的區段,故此128個區段被整合為一個叢集,且項目C1僅包含了一個叢集位址映射資料,而此叢集位址映射資料可以是上述128個區段的第一個邏輯位址以及第一個實體位址的資訊;而由於項目C3中具有連續邏輯位址及連續實體位址的區段的數量不足,故其對應的區段並未被整合為一個叢集,因此項目C3包含了一個連結至一區段位址映射表的資訊。
關於第3圖所示多個映射位址表操作,請參考第4圖,其為根據本發明一實施例之使用第3圖所示之多個映射位址表以自快閃記憶體模組120中讀取資料的流程圖。在步驟400中,流程開始。在步驟402中,微處理器212自主裝置接收一讀取命令,以要求讀取一特定區段的資料。在步驟404中,微處理器212根據該特定區段的邏輯位址以自FTL組態中找尋所對應的叢集位址映射表群組,在本實施例中,該特定區段係對應到叢集位址映射表群組CMT_G0。在步驟406中,微處理器212根據該特定區段的邏輯位址以判斷所需的資訊是位於叢集位址映射表群組CMT_G0中的那一個項目,在本實施例中,若是該特定區段的邏輯位址對應到項目C1,則流程進入步驟408;而若是該特定區段的邏輯位址對應到項目C3,則流程進入步驟412。在步驟408中,由於項目C1僅記錄了一筆叢集位址映射資料,因此,微處理器212便直接取得這一筆叢集位址映射資料,並在步驟410中根據該筆叢集位址映射資料中所記錄的實體位址以自快閃記憶體模組120中依序讀取128個區段的內容,並由此128個區段的內容得到該特定區段的資料(該特定區段是該128個區段的其中之一)。另一方面,在步驟412中,由於項目C3包含了一個連結至一區段位址映射表的資訊,故微處理器212連結至該區段位址映射表;接著在步驟414中,微處理器212根據該特定區段的邏輯位址來取得一區段位址映射資料,例如S2,並在步驟416中根據該區段位址映射資料中所記錄的實體位址以自快閃記憶體模組120中依序讀取該特定區段的內容。
在以上的實施例中,由於項目C1中僅記錄了一筆叢集位址映射資料來表示128個區段的實體位址,因此可以大幅減少映射位址表的資料量。此外,由於映射位址表的資料量減少了,故透過第3~4圖所示的映射位址表的使用過程也可以快速地找尋到所需要的實體位址,以增進存取速度及效能。
第5圖繪示了如何產生叢集位址映射資料的示意圖。如第5圖所示,首先,微處理器212接收來自主裝置的多個寫入指令以要求將具有連續邏輯位址LA0~LA127的128個區段的資料D_S0~D_S127寫入至快閃記憶體模組120中,此時,微處理器212依序地將128個區段的資料D_S0~D_S127寫入到區塊510中,並同時建立區段位址映射表以記錄邏輯位址LA0~LA127及其對應的實體位址PA0~PA127。需注意的是,資料D_S0~D_S127所寫入到之區塊510中的位址不一定是連續的,亦即實體位址PA0~PA127不一定是連續的實體位址。接著,當區段位址映射表中所記錄的區段數量到達一預定數量(本實施例為128個區段)的時候,微處理器212便準備將此128個具有連續邏輯位址的區段合併為一個叢集,並將資料D_S0~D_S127從區塊510中搬移到區塊520中具有連續實體位址的多個資料頁中。如上所述,由於資料D_S0~D_S127在搬移過後會具有連續的邏輯位址以及連續的實體位址,因此,微處理器212便可以據此建立資料D_S0~D_S127的一叢集位址映射資料,其中該叢集位址映射資料僅包含了連續邏輯位址LA0~LA127中的第一個邏輯位址LA0,以及上述區塊520中連續之實體位址的第一個實體位址PA0’。
在建立了叢集位址映射資料之後,原本的區段位址映射表便不再被需要,因此可以直接刪除以節省儲存空間。此外,第5圖所建立的叢集位址映射資料可以被設置於第3圖所示之叢集位址映射表群組中,例如CMT_G0的項目C1。
需注意的是,上述將128個具有連續邏輯位址的區段合併為一個叢集以及將資料D_S0~D_S127從區塊510搬移或複製到區塊520的過程並非是立即進行,而是可以在快閃記憶體控制器110有空閒的時候,或是快閃記憶體控制器110需要進行區塊合併或是垃圾資料收集(garbage collection)的時候再行處理。
在本實施例中,區塊510可以是具有較快存取速度的單層式儲存(Single-Level Cell,SLC)區塊,且區塊520可以是具有較高儲存密度的三層式儲存(Triple-Level Cell,TLC)區塊,其中單層式區塊表示其中的一個浮閘電晶體僅用來儲存一個位元,而三層式區塊表示其中的一個浮閘電晶體可以用來儲存三個位元。
第6圖為第5圖所示之管理快閃記憶體模組120的方法的流程圖。參考第5、6圖及以上所揭露的內容,流程如下所述。
步驟600:流程開始。
步驟602:依序將多個區段之多筆資料寫入到快閃記憶體模組的一第一區塊中,並依序建立該多個區段之多筆區段位址映射資料。
步驟604:將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集,並將該部分區段的資料搬移至該快閃記憶體模組的一第二區塊中具有連續實體位址的多個資料頁。
步驟606:建立該叢集之一叢集位址映射資料,並抹除先前所建立之對應於該部分區段之區段位址映射資料。
另一方面,在先前技術中,若是緩衝記憶體215中的空間不足而需要將目前不需要使用的位址映射表(例如上述的區段位址映射表)所佔用的空間釋放時,微處理器212會將位址映射表儲存至快閃記憶體模組120中,並將此位址映射表自緩衝記憶體215中移除。然而,位址映射表所儲存的區域通常不同於一般區段資料,亦即,區段位址映射表需要單獨地根據一個寫入命令來寫入至快閃記憶體模組120,因而增加了系統負擔。為了解決此一問題,本實施例另外提出了一種可以將位址映射表連同區段資料一併寫入同一個資料頁的方法,以增進系統效能。
參考第7圖,其為根據本發明一實施例之將位址映射表寫入到快閃記憶體模組120的示意圖,其中此位址映射表可以是第3圖所示的叢集位址映射表群組及/或區段位址映射表。如第7圖所示,區塊710位於快閃記憶體模組120中,且包含了多個資料頁(僅繪出資料頁712作為代表),且在本實施例中資料頁712包含了資料區(data)以及備用區(spare area),其中資料區的大小為16KB,且可用來儲存4筆區段資料(每筆區段資料為4KB);而備用區則是用來儲存元資料(meta data)。在本實施例中,當緩衝記憶體215中的位址映射表需要被儲存至快閃記憶體模組120時,微處理器212會使用同一個寫入命令,以將位址映射表連同其他的區段資料一併寫入到資料頁712中,以節省讀寫次數。透過將位址映射表連同區段資料寫入到同一個資料頁712中,可以再減少寫入次數的情形下儲存較多資料,且由於區段資料與相對應的位址映射表有較高的機率會儲存在同一個資料頁中,故可以節省讀取位址映射表的次數。
另一方面,資料在區塊間的移動是非常沒有效率的事情,為了減少資料移動的次數,快閃記憶體控制器110會去判斷區塊中所儲存的資料是熱資料或是冷資料,再據以決定垃圾資料蒐集時的處理方式,其中前述的熱資料指的是寫入時間不久的資料,亦即經常性使用的資料;而冷資料指的是存放在區塊內的時間已經很久的資料,亦即很久沒有使用/更新的資料。由於冷資料被視為不常使用的資料,故當快閃記憶體判斷區塊中所儲存的區塊是冷資料時,便會將其中的資料(有效資料)集中至另一區塊,而原本的區塊便釋放出來以供後續使用。而冷資料所處的區塊需要被清出的機率就會很小,可減少移動的次數。在上述揭露內容中也提到快閃記憶體模組120中的區塊包含了單層式區塊以及三層式區塊,一般來說,單層式區塊具有較快的存取速度且允許較多的抹除次數。上述冷熱資料的方法,可以應用在決定如何將單層式區塊的資料移動到三層式區塊,以達到單層式區塊的最佳使用效率,或是決定三層式區塊與三層式區塊間的移動,以避免三層式區塊之間無謂的搬移。
然而,在先前技術中快閃記憶體控制器110需要許多資訊來判斷區塊中所儲存的資料是否為冷資料,因此會需要額外的空間儲存相關資訊,且也會造成其運作負擔,因此,在本發明一實施例中,快閃記憶體控制器110可以直接根據每一個區塊中本身所儲存的抹除序號(erase sequence number)來判斷該區塊中的資料是熱資料或是冷資料,以避免需要額外蒐集儲存其他資訊。具體來說,當快閃記憶體模組120中有一區塊需要被抹除的時候,快閃記憶體控制器110會更新快閃記憶體模組120中所進行之區塊抹除操作的總次數(亦即,次數加上1),並在後續該區塊進行資料寫入的時候一併將此更新的總次數作為該抹除序號來寫入到該區塊之中。換句話說,該抹除序號係用來表示該區塊在上一次進行抹除操作是快閃記憶體模組120中整體所進行的第幾次抹除操作。之後,在後續需要釋放該區塊的空間或是快閃記憶體控制器110空閒的時候,快閃記憶體控制器110便可以自該區塊中讀取抹除序號,並根據該抹除序號與快閃記憶體控制器110目前所記錄之快閃記憶體模組120中所進行之區塊抹除操作的總次數之間的差距來判斷該區塊中的資料為熱資料或是冷資料。如上所述,由於本實施例在判斷冷/熱資料的過程中僅僅需要使用本來就儲存在區塊內的資訊,故可以避免先前技術中需要儲存額外資訊而造成系統負擔的問題。
上述區塊之抹除序號與快閃記憶體控制器110目前所記錄之快閃記憶體模組120中所進行之區塊抹除操作的總次數之間的差距可以用來表示資料的冷熱狀態,差距越大代表資料越可以被視為是冷資料,而差距越小則代表資料寫入時間不久故可以被視為是熱資料。舉例來說,假設快閃記憶體控制器110目前所記錄之快閃記憶體模組120中所進行之區塊抹除操作的總次數為20000次,第一區塊中所記錄的抹除序號為17000,第二區塊所記錄的抹除序號為19500,則第一區塊中的資料可以被視為是冷資料,而第二區塊中的資料則可以被視為是熱資料。
在本實施例中,快閃記憶體控制器110可以先計算出區塊之抹除序號與快閃記憶體控制器110目前所記錄之快閃記憶體模組120中所進行之區塊抹除操作的總次數之間的差距,並根據此差距來進行一些數學運算或判斷(例如,該差距是否大於一臨界值)來決定該區塊中的資料為熱資料或是冷資料。
第8圖為根據本發明另一實施例之管理快閃記憶體模組120的方法的流程圖。參考第8圖及以上有關於判斷冷資料及熱資料的揭露內容,流程如下所述。
步驟800:流程開始。
步驟802:讀取一區塊中所儲存的一抹除序號。
步驟804:根據該抹除序號來判斷該區塊中的資料為熱資料或是冷資料。
步驟806:當該區塊中的資料被判斷為冷資料時,將該區塊中的資料複製到另一區塊中。
步驟808:抹除該區塊中的資料。
簡要歸納本發明,在本發明之管理一快閃記憶體模組的方法中,首先提供了一種位址映射表的設計與管理方法,其可以將具有連續邏輯位址的區段合併為一個叢集,並據此將多個區段位址映射資料縮減為單一筆叢集位址映射資料,以大幅降低位址映射表的容量,如此一來,可以加速邏輯/實體位址的搜尋速度,並延長快閃記憶體模組的壽命。在一實施例中,位址映射表係連同其他的區段資料寫入至同一個資料頁,以降低寫入次數。此外,本發明另外提出了一種可以根據區塊中本身所儲存的抹除序號來判斷區塊中的資料為冷資料或是熱資料的方法,以避免先前技術中需要儲存額外資訊而造成系統負擔的問題與區塊之間無謂的資料搬移。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧記憶裝置
110‧‧‧快閃記憶體控制器
112‧‧‧檔案系統
114‧‧‧快閃記憶體轉換層
120‧‧‧快閃記憶體模組
211‧‧‧介面電路
212‧‧‧微處理器
213‧‧‧唯讀記憶體
214‧‧‧程式碼
215‧‧‧緩衝記憶體
216‧‧‧控制邏輯
400~416、600~606、800~808‧‧‧步驟
510、520、710‧‧‧區塊
712‧‧‧資料頁
CMT_G0、CMT_G1、CMT_G3‧‧‧叢集位址映射表群組
C1、C2、C3‧‧‧項目
S1~S15‧‧‧區段位址映射資料
D_S0~D_S127‧‧‧資料
LA0~LA127‧‧‧邏輯位址
PA0~PA127、PA0’‧‧‧實體位址
第1圖為存取一快閃記憶體模組的架構圖。 第2圖為根據本發明一實施例之記憶裝置的示意圖。 第3圖為根據本發明一實施例之多個映射位址表的示意圖。 第4圖為根據本發明一實施例之使用第3圖所示之多個映射位址表以自快閃記憶體模組中讀取資料的流程圖。 第5圖繪示了如何產生叢集位址映射資料的示意圖。 第6圖為第5圖所示之管理快閃記憶體模組的方法的流程圖。 第7圖為根據本發明一實施例之將位址映射表寫入到快閃記憶體模組的示意圖。 第8圖為根據本發明另一實施例之管理快閃記憶體模組的方法的流程圖。

Claims (20)

  1. 一種管理一快閃記憶體模組的方法,包含有: 依序建立多個區段(sector)之多筆區段位址映射資料,其中該多筆區段位址映射資料包含了每一個區段之邏輯位址及相對應的實體位址; 將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集(cluster),並將該部分區段的資料搬移至該快閃記憶體模組中具有連續實體位址的多個資料頁;以及 建立該叢集之一叢集位址映射資料,並抹除先前所建立之對應於該部分區段之區段位址映射資料。
  2. 如申請專利範圍第1項所述之方法,其中該叢集位址映射資料為具有連續邏輯位址之該部分區段的第一個邏輯位址,以及具有連續實體位址之該多個資料頁的第一個實體位址。
  3. 如申請專利範圍第1項所述之方法,其中將該多個區段中具有連續邏輯位址的該部分區段合併為該叢集的步驟包含有: 當具有連續邏輯位址的該部分區段的數量到達一預定數量時,才開始將該多個區段中具有連續邏輯位址的該部分區段合併為該叢集。
  4. 如申請專利範圍第1項所述之方法,另包含有: 將該多個區段的資料依序儲存到該快閃記憶體模組的至少一第一區塊中,並依序建立該多個區段該之多筆區段位址映射資料;以及 當具有連續邏輯位址的該部分區段合併為該叢集時,並將該部分區段的資料從該第一區塊搬移至該快閃記憶體模組之一第二區塊中具有連續實體位址的該多個資料頁。
  5. 如申請專利範圍第4項所述之方法,其中該至少一第一區塊包含單層式儲存(Single-Level Cell,SLC)區塊,且該第二區塊為三層式儲存(Triple-Level Cell,TLC)區塊。
  6. 如申請專利範圍第1項所述之方法,另包含有: 根據該多筆區段位址映射資料以及該叢集位址映射資料來建立一位址映射表;以及 將該位址映射表連同其他區段資料一併寫入至該快閃記憶體模組中的同一個資料頁中。
  7. 如申請專利範圍第6項所述之方法,其中該資料頁為該快閃記憶體模組中的一最小寫入單元,且該位址映射表與該其他區段資料的寫入操作係根據同一個寫入命令來進行。
  8. 一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,以及該快閃記憶體控制器包含有: 一記憶體,用來儲存一程式碼; 一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取; 其中該微處理器依序建立多個區段(sector)之多筆區段位址映射資料,其中該多筆區段位址映射資料包含了每一個區段之邏輯位址及相對應的實體位址;且該微處理器將該多個區段中具有連續邏輯位址的一部分區段合併為一叢集(cluster),並將該部分區段的資料搬移至該快閃記憶體模組中具有連續實體位址的多個資料頁,以及建立該叢集之一叢集位址映射關係,並抹除先前所建立之對應於該部分區段之區段位址映射資料。
  9. 如申請專利範圍第8項所述之方法,其中該叢集位址映射資料為具有連續邏輯位址之該部分區段的第一個邏輯位址,以及具有連續實體位址之該多個資料頁的第一個實體位址。
  10. 如申請專利範圍第8項所述之方法,其中將該多個區段中具有連續邏輯位址的該部分區段合併為該叢集的步驟包含有: 當具有連續邏輯位址的該部分區段的數量到達一預定數量時,才開始將該多個區段中具有連續邏輯位址的該部分區段合併為該叢集。
  11. 如申請專利範圍第8項所述之方法,另包含有: 將該多個區段的資料依序儲存到該快閃記憶體模組的至少一第一區塊中,並依序建立該多個區段該之多筆區段位址映射資料;以及 當具有連續邏輯位址的該部分區段合併為該叢集時,並將該部分區段的資料從該第一區塊搬移至該快閃記憶體模組之一第二區塊中具有連續實體位址的該多個資料頁。
  12. 如申請專利範圍第11項所述之方法,其中該至少一第一區塊包含單層式儲存(Single-Level Cell,SLC)區塊,且該第二區塊為三層式儲存(Triple-Level Cell,TLC)區塊。
  13. 如申請專利範圍第8項所述之方法,另包含有: 根據該多筆區段位址映射資料以及該叢集位址映射資料來建立一位址映射表;以及 將該位址映射表連同其他區段資料一併寫入至該快閃記憶體模組中的同一個資料頁中。
  14. 如申請專利範圍第13項所述之方法,其中該資料頁為該快閃記憶體模組中的一最小寫入單元,且該位址映射表與該其他區段資料的寫入操作係根據同一個寫入命令來進行。
  15. 一種管理一快閃記憶體模組的方法,包含有: 建立一位址映射表,其中該位址映射表包含了多個區段之邏輯位址及相對應的實體位址;以及 將該位址映射表連同其他資料一併寫入至該快閃記憶體模組中的同一個資料頁中,其中該其他資料無關於任何有關於邏輯位址及實體位址的映射資料。
  16. 如申請專利範圍第15項所述之方法,其中該資料頁為該快閃記憶體模組中的一最小寫入單元,且該位址映射表與該其他區段資料的寫入操作係根據同一個寫入命令來進行。
  17. 如申請專利範圍第15項所述之方法,其由一快閃記憶體控制器來執行。
  18. 一種管理一快閃記憶體模組的方法,包含有: 讀取一區塊中所儲存的一抹除序號(erase sequence number),其中該抹除序號係用來表示該區塊在上一次進行抹除操作是該快閃記憶體模組中整體所進行的第幾次抹除操作; 根據該抹除序號來判斷該區塊中的資料為熱資料或是冷資料; 當該區塊中的資料被判斷為冷資料時,將該區塊中的資料複製到另一區塊中;以及 抹除該區塊中的資料。
  19. 如申請專利範圍第18項所述之方法,其中根據該抹除序號來判斷該區塊中的資料為熱資料或是冷資料的步驟包含有: 根據該抹除序號與一快閃記憶體模組中所進行之區塊抹除操作的總次數之間的差距來判斷該區塊中的資料為熱資料或是冷資料。
  20. 如申請專利範圍第18項所述之方法,其中該區塊為一單層式區塊或三層式區塊,且該另一區塊為一三層式區塊。
TW107101829A 2017-10-17 2018-01-18 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 TW201917581A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710967426.8A CN109671458A (zh) 2017-10-17 2017-10-17 管理闪存模块的方法及相关的闪存控制器
??201710967426.8 2017-10-17

Publications (1)

Publication Number Publication Date
TW201917581A true TW201917581A (zh) 2019-05-01

Family

ID=66141421

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107101829A TW201917581A (zh) 2017-10-17 2018-01-18 管理快閃記憶體模組的方法及相關的快閃記憶體控制器

Country Status (2)

Country Link
CN (1) CN109671458A (zh)
TW (1) TW201917581A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI733360B (zh) * 2020-03-09 2021-07-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
TWI748410B (zh) * 2020-04-15 2021-12-01 慧榮科技股份有限公司 用來針對非揮發性記憶體進行區塊管理的方法以及設備
TWI766527B (zh) * 2020-07-02 2022-06-01 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置
US11636030B2 (en) 2020-07-02 2023-04-25 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same
US11709612B2 (en) 2020-07-02 2023-07-25 Silicon Motion, Inc. Storage and method to rearrange data of logical addresses belonging to a sub-region selected based on read counts
US11748032B2 (en) 2020-07-02 2023-09-05 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same
TWI829363B (zh) * 2022-09-26 2024-01-11 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061649B (zh) * 2019-10-28 2023-09-29 宁波三星智能电气有限公司 一种存储器的存储空间自适应分配方法
CN110968524B (zh) * 2019-12-09 2022-04-12 Oppo广东移动通信有限公司 数据存储控制方法、装置、存储介质及电子装置
CN113126915B (zh) * 2021-03-26 2022-07-22 山东英信计算机技术有限公司 一种基于Trim指令的SSD表更新方法、系统及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504814C (zh) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
CN102650931B (zh) * 2012-04-01 2015-07-08 华为技术有限公司 一种写入数据的方法及系统
US9244833B2 (en) * 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
TWI544334B (zh) * 2012-05-30 2016-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存裝置操作方法
CN102819496B (zh) * 2012-08-16 2015-02-18 常州新超电子科技有限公司 闪存ftl的地址转换方法
CN104102585B (zh) * 2013-04-03 2017-09-12 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
CN107066393B (zh) * 2017-01-12 2020-06-09 安徽大学 提高地址映射表中映射信息密度的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI733360B (zh) * 2020-03-09 2021-07-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11347640B2 (en) 2020-03-09 2022-05-31 Silicon Motion, Inc. Data storage device and data processing method
TWI748410B (zh) * 2020-04-15 2021-12-01 慧榮科技股份有限公司 用來針對非揮發性記憶體進行區塊管理的方法以及設備
US11403018B2 (en) 2020-04-15 2022-08-02 Silicon Motion, Inc. Method and apparatus for performing block management regarding non-volatile memory
TWI766527B (zh) * 2020-07-02 2022-06-01 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置
US11636030B2 (en) 2020-07-02 2023-04-25 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same
US11709612B2 (en) 2020-07-02 2023-07-25 Silicon Motion, Inc. Storage and method to rearrange data of logical addresses belonging to a sub-region selected based on read counts
US11748032B2 (en) 2020-07-02 2023-09-05 Silicon Motion, Inc. Data processing method for improving access performance of memory device and data storage device utilizing the same
TWI829363B (zh) * 2022-09-26 2024-01-11 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置

Also Published As

Publication number Publication date
CN109671458A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
US11893238B2 (en) Method of controlling nonvolatile semiconductor memory
TW201917581A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
TWI678619B (zh) 包含動態超區塊之記憶體裝置及相關方法與電子系統
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
TWI399644B (zh) 非揮發記憶體區塊管理方法
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
TWI385518B (zh) 用於快閃記憶體的資料儲存方法及儲存系統
TWI537728B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI584122B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI405209B (zh) 資料管理方法及使用此方法的快閃儲存系統與控制器
TWI707232B (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
CN110674056B (zh) 一种垃圾回收方法及装置
US11513949B2 (en) Storage device, and control method and recording medium thereof
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
CN106598493A (zh) 一种固态硬盘地址映射表管理方法
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
KR20210050592A (ko) 저장 디바이스 상의 네임스페이스에서의 오류 검사
US20200319815A1 (en) Communication of data relocation information by storage device to host to improve system performance
CN114968096A (zh) 一种存储器的控制方法、存储器与存储系统
TWI692688B (zh) 快閃記憶體控制器及相關電子裝置
CN115203079A (zh) 一种将数据写入固态硬盘的方法