TWI437439B - 用來以動態門檻進行區塊管理之方法及記憶裝置及控制器 - Google Patents
用來以動態門檻進行區塊管理之方法及記憶裝置及控制器 Download PDFInfo
- Publication number
- TWI437439B TWI437439B TW100115461A TW100115461A TWI437439B TW I437439 B TWI437439 B TW I437439B TW 100115461 A TW100115461 A TW 100115461A TW 100115461 A TW100115461 A TW 100115461A TW I437439 B TWI437439 B TW I437439B
- Authority
- TW
- Taiwan
- Prior art keywords
- blocks
- dynamic threshold
- controller
- condition
- flash memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 230000015654 memory Effects 0.000 claims description 108
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- 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
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係有關於快閃記憶體(Flash Memory)之存取(Access),尤指一種用來進行區塊管理之方法以及相關之記憶裝置及其控制器。
近年來由於快閃記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)或具備快閃記憶體之固態硬碟(Solid State Drive,SSD)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之快閃記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(Single Level Cell,SLC)與多階細胞(Multiple Level Cell,MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶單元的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄兩組(或以上)位元資訊(00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之可攜式記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。例如:在該記憶裝置被設計成具有較高儲存容量及/或較高彈性的狀況下,該些管理機制可能變得非常複雜,這可能會導致硬體資源的晶片面積以及相關成本增加。因此,需要一種新穎的方法來進行區塊管理,以增進具備快閃記憶體的記憶裝置之存取效能。
因此本發明之目的之一在於提供一種用來進行區塊管理之方法以及相關之記憶裝置及其控制器,以解決上述問題。
本發明之另一目的在於提供一種用來進行區塊管理之方法以及相關之記憶裝置及其控制器,以增進該記憶裝置之存取效能並且控制該記憶裝置以適應性的方式來運作。
本發明之較佳實施例中提供一種用來進行區塊管理之方法,該方法係應用於一快閃記憶體(Flash Memory)之控制器,該快閃記憶體包含複數個區塊,該方法包含有:依據至少一條件調整一動態門檻;以及比較該複數個區塊中之一特定區塊之一有效/無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置,其包含有:一快閃記憶體,該快閃記憶體包含複數個區塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數個區塊。另外,該控制器依據至少一條件調整一動態門檻。此外,該控制器比較該複數個區塊中之一特定區塊之一有效/無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置之控制器,該控制器係用來存取一快閃記憶體,該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊。另外,在該微處理器之控制下,該控制器依據至少一條件調整一動態門檻,並且比較該複數個區塊中之一特定區塊之一有效/無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
本發明的好處之一是,藉由調整該動態門檻,本發明可妥善地進行區塊管理,增進該記憶裝置之效能。於是,透過調整該動態門檻,該記憶裝置能以適應性的方式來運作。
請參考第1圖,第1圖為依據本發明一第一實施例之一種記憶裝置100的示意圖,其中本實施例之記憶裝置100尤其可為可攜式記憶裝置,例如:符合SD/MMC、CF、MS、XD標準之記憶卡,或通用序列匯流排快閃碟(Universal Serial Bus Flash Drive,USB Flash Drive,亦稱為USB Flash Disk),即所謂的隨身碟,但不以此為限。記憶裝置100包含有:一快閃記憶體(Flash Memory)120;以及一控制器,用來存取(Access)快閃記憶體120,其中該控制器例如一記憶體控制器110。依據本實施例,記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、至少一緩衝記憶體116、與一介面邏輯118。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取。請注意到,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。請注意,在此係以可攜式記憶裝置為例;這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之一變化例,記憶裝置100可為固態硬碟(Solid State Drive,SSD)。
於本實施例中,唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取(Access)。於典型狀況下,快閃記憶體120包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體120進行抹除資料之運作係以區塊為單位來進行抹除。例如:於本實施例或其某些變化例中,該控制器能藉由以區塊為單位及/或以超區塊(Meta-block)為單位進行抹除,來對快閃記憶體120進行抹除資料之運作,其中每一超區塊可具有一預定數量之區塊。另外,一區塊可記錄特定數量的頁(Page),尤其是實體頁(Physical Page),其中上述之控制器對快閃記憶體120進行寫入資料之運作係以頁為單位來進行寫入。例如:該控制器能藉由以頁為單位及/或以一數量的頁為單位進行寫入,來對快閃記憶體120進行寫入資料之運作,其中一實體頁可包含複數個區段(Sector),諸如8個區段。
實作上,透過微處理器112執行程式碼112C之記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體120之存取運作(尤其是對至少一區塊或至少一頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device;未顯示於第1圖)溝通。記憶體控制器110可依據該主裝置所發出之存取指令來控制快閃記憶體120。依據本實施例,除了能存取快閃記憶體120,記憶體控制器110還能妥善地管理該複數個區塊。請參考第2圖,該控制器所進行之區塊管理之相關細節進一步說明如下。
第2圖為依據本發明一實施例之一種用來進行區塊管理之方法910的流程圖。該方法可應用於第1圖所示之記憶裝置100,尤其是上述之控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)。另外,該方法可藉由利用第1圖所示之記憶裝置100來實施,尤其是藉由利用上述之控制器來實施。該方法說明如下:
於步驟912中,該控制器依據至少一條件(例如:一個或多個條件)調整一動態門檻DT。尤其是,動態門檻DT是可用來判斷是否抹除該些區塊中之一區塊的可調門檻。例如:該控制器可依據該複數個區塊當中空白/已使用的區塊之數量來調整動態門檻DT。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之一變化例,該控制器可依據空白/已使用的區塊之數量對該複數個區塊之數量的比率來調整動態門檻DT。
於步驟914中,該控制器利用比較該複數個區塊中之一特定區塊之一有效/無效頁數以及動態門檻DT,以判斷是否抹除該特定區塊。該有效/無效頁數代表該特定區塊中之有效/無效頁的數量,其中一有效頁代表儲存有用的資料(或有效資料)之一實體頁,而一無效頁代表沒有儲存有用的資料之一實體頁。實作上,由於每一完全寫入(Fully Programmed)區塊包含一預定數量的頁(例如:在某些實施例可為128頁),同一個完全寫入區塊之有效頁數與無效頁數是彼此互補的。
請注意,該控制器諸如記憶體控制器110可從記憶裝置100中之一有效/無效頁數表讀取該有效/無效頁數,其中該有效/無效頁數表是用來儲存該複數個區塊各自的有效/無效頁數。例如:記憶體控制器110可將該有效/無效頁數表儲存於快閃記憶體120中。當需要時,記憶體控制器110從快閃記憶體120載入該有效/無效頁數表之至少一部分(例如:一部分或全部),並且暫時地將該有效/無效頁數表之上述至少一部分儲存於緩衝記憶體116中,以更新該有效/無效頁數表。之後,記憶體控制器110可進一步將該有效/無效頁數表之更新版本儲存於快閃記憶體120中。
記憶體控制器110可依據關於記憶體控制器110及/或快閃記憶體120之一偵測值DV
來調整動態門檻DT。例如:偵測值DV
可包含(但不限於)上述該複數個區塊當中空白/已使用的區塊之數量,以及上述空白/已使用的區塊之數量對該複數個區塊之數量的比率。尤其是,記憶體控制器110可依據偵測值DV
是否落入複數個範圍R(k)當中之一特定範圍(或值)來調整動態門檻DT,其中k=0、1、...、或K,且K可為一正整數。如此,該複數個範圍包含(K+1)個範圍R(0)、R(1)、...、與R(K)。針對步驟912當中進行之調整,不同的範圍的調整量,諸如該(K+1)個範圍R(0)、R(1)、...、與R(K)中之一部分或全部之各自的調整量,可視為偵測值DV
之一函數,且因此可合稱為調整量DTA
(DV
)。相仿地,不同的範圍的動態門檻DT,諸如該(K+1)個範圍R(0)、R(1)、...、與R(K)中之一部分或全部之各自的動態門檻DT,可視為動態門檻DT之一函數,且因此可合稱為動態門檻DT(DV
)。例如:在上述之特定範圍代表該(K+1)個範圍R(0)、R(1)、...、與R(K)中之一範圍R(k1
)並且對應於範圍R(k1
)之調整量{DTA
(DV
)|DV R(k1
)}為正(尤其是一正值)之狀況下,記憶體控制器110增加動態門檻DT。又例如:在上述之特定範圍代表該(K+1)個範圍R(0)、R(1)、...、與R(K)中之一範圍R(k2
)並且對應於範圍R(k2
)之調整量{DTA
(DV
)|DV R(k2
)}為負(尤其是一負值)之狀況下,記憶體控制器110減少動態門檻DT。又例如:在上述之特定範圍代表該(K+1)個範圍R(0)、R(1)、...、與R(K)中之一範圍R(k3
)並且對應於範圍R(k3
)之調整量{DTA
(DV
)|DV R(k3
)}是零的狀況下,記憶體控制器110將零調整量{DTA
(DV
)|DV R(k3
)}施加於動態門檻DT,且因此就不會調整到動態門檻DT。
依據上面實施例之一變化例,記憶體控制器110可依據記憶體控制器110之一忙碌/閒置等級來調整動態門檻DT,且因此,偵測值DV
可為記憶體控制器110之該忙碌/閒置等級。例如:當該忙碌/閒置等級指出記憶體控制器110正在忙碌中(例如:該忙碌/閒置等級諸如一忙碌等級達到一預定等級),記憶體控制器110可調整動態門檻DT以減少一抹除運作之發生機率,使得工作負荷得以被減少。如此,於步驟914中,記憶體控制器110更傾向於判斷不要抹除該特定區塊。又例如:當該忙碌/閒置等級指出記憶體控制器110並非忙碌中(例如:該忙碌/閒置等級諸如一忙碌等級小於一預定等級),記憶體控制器110可調整動態門檻DT以增加一抹除運作之發生機率,使得其硬體資源得以被充分利用。如此,於步驟914中,記憶體控制器110更傾向於判斷要抹除該特定區塊。
依據本發明之某些實施例,諸如以上揭露的實施例/變化例中之一部分或全部,記憶體控制器110可立即進行一抹除運作以確保整體效能。例如:在上述之有效/無效頁數代表一有效頁數的狀況下,當偵測到該特定區塊之有效頁數等於零時,記憶體控制器110立即抹除該特定區塊。又例如:在上述之有效/無效頁數代表一無效頁數的狀況下,當偵測到該特定區塊之無效頁數達到其可能之最大值(例如一完全寫入區塊中之頁數)時,記憶體控制器110立即抹除該特定區塊。
依據本發明之某些實施例,諸如以上揭露的實施例/變化例中之一部分或全部,上述之至少一條件包含:「一事件是否發生」之條件。如此,當記憶體控制器110被該事件觸發時,記憶體控制器110可調整動態門檻DT。
第3A圖至第3C圖為第2圖所示之方法於某些實施例中的實施細節。在這些實施例中,上述之至少一條件可包含用來判斷調整量DTA
(DV
)及/或用來判斷是否調整動態門檻DT之一個或多個條件。
請參考第3A圖。在K=2的狀況下,上述之該(K+1)個範圍包含三個範圍R(0)、R(1)、與R(2)。調整量DTA
(DV
)係繪示為一函數(於第3A圖係標示為「DTA
」)之某些曲線,尤其是第3A圖所示之粗線。於本實施例中,上述之至少一條件包含「偵測值DV
是否達到一預定門檻(諸如預定門檻TH11
)」之一第一條件,且另包含「偵測值DV
是否低於另一預定門檻(諸如預定門檻TH10
)」之一第二條件,其中該第一條件與該第二條件中之至少一部分(例如:一部分或全部)可於步驟912中被記憶體控制器110所檢查。於是,透過將這個函數應用於步驟912之運作,記憶體控制器110可於偵測值DV
達到預定門檻TH11
時增加動態門檻DT,或於偵測值DV
低於預定門檻TH10
時減少動態門檻DT。尤其是,本實施例之偵測值DV
可為該複數個區塊當中空白區塊之數量。
請參考第3B圖。在K=1的狀況下,上述之該(K+1)個範圍包含兩個範圍R(0)與R(1)。調整量DTA
(DV
)係繪示為一函數(於第3B圖係標示為「DTA
」)之某些曲線,尤其是第3B圖所示之粗線。於本實施例中,上述之至少一條件包含「偵測值DV
是否達到一預定門檻(諸如預定門檻TH21
)」之該第一條件,其中該第一條件於步驟912中被記憶體控制器110所檢查。於是,透過將這個函數應用於步驟912之運作,記憶體控制器110可於偵測值DV
達到預定門檻TH21
時增加動態門檻DT,或於偵測值DV
未達到預定門檻TH21
時減少動態門檻DT。尤其是,本實施例之偵測值DV
可為該複數個區塊當中空白區塊之數量。
請參考第3C圖。在K=6的狀況下,上述之該(K+1)個範圍包含七個範圍R(0)、R(1)、...、與R(6)。調整量DTA
(DV
)係繪示為一函數(於第3C圖係標示為「DTA
」)之某些曲線,尤其是第3C圖所示之粗線。於本實施例中,上述之至少一條件包含複數個條件,諸如該第一條件與該第二條件之某些組合/變化。由於第3C圖所示之預定門檻TH30
、TH31
、TH32
、TH33
、TH34
、與TH35
分別定義了範圍R(0)、R(1)、R(2)、R(3)、R(4)、R(5)、與R(6),預定門檻TH30
、TH31
、TH32
、TH33
、TH34
、與TH35
可分別用來判斷偵測值DV
是否落於範圍R(0)、R(1)、...、與R(6)中之任一者。相仿地,該複數個條件中之至少一部分(例如:一部分或全部)可於步驟912中被記憶體控制器110所檢查。於是,透過將這個函數應用於步驟912之運作,記憶體控制器110可於偵測值DV
達到預定門檻TH33
、TH34
、與TH35
中之任一者時增加動態門檻DT,或於偵測值DV
低於預定門檻TH32
、TH31
、與TH30
中之任一者時減少動態門檻DT。更明確而言,在上述之特定範圍代表範圍R(0)、R(1)、...、與R(6)中之一範圍R(k4
),記憶體控制器110將對應於範圍R(k4
)之調整量{DTA
(DV
)|DV R(k4
)}施加於動態門檻DT,且因此以調整量{DTA
(DV
)|DV R(k4
)}調整動態門檻DT。尤其是,本實施例之偵測值DV
可為該複數個區塊當中空白區塊之數量。
本發明的好處之一是,藉由妥善地設計用來調整動態門檻DT之一函數,諸如第3A圖至第3C圖所示之實施例中所揭露之各個函數之任一者,本發明可妥善地進行區塊管理,增進該記憶裝置之效能。於是,透過調整該動態門檻,該記憶裝置能以適應性的方式來運作。例如:當該記憶裝置剛被使用且具有許多空白區塊時,該動態門檻可被決定為一高值;因此,一抹除運作之發生機率得以減少,且該記憶裝置之耐用度可被增強。又例如:當該記憶裝置被使用許久且僅具有少許空白區塊時,該動態門檻可被決定為一低值;因此,一抹除運作之發生機率得以增加,且該記憶裝置可提供更多的空白區塊以供用來儲存傳送自該主裝置之資料。另外,依據以上各個實施例/變化例來實施並不會增加許多額外的成本,甚至比相關技術更能節省成本。因此,基於以上揭露的內容,相關技術的問題已被解決,且整體成本不會增加太多。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100...記憶裝置
110...記憶體控制器
112...微處理器
112C...程式碼
112M...唯讀記憶體
114...控制邏輯
116...緩衝記憶體
118...介面邏輯
120...快閃記憶體
910...用來進行區塊管理之方法
912,914...步驟
DV
...偵測值
DTA
...調整量
R(0),R(1),R(2),R(3),R(4),R(5),R(6)...範圍
TH10
,TH11
,TH21
,TH30
,TH31
,TH32
,TH33
,TH34
,TH35
...預定門檻
第1圖為依據本發明一第一實施例之一種記憶裝置的示意圖。
第2圖為依據本發明一實施例之一種用來進行區塊管理之方法的流程圖。
第3A圖至第3C圖為第2圖所示之方法於某些實施例中的實施細節。
910...用來進行區塊管理之方法
912,914...步驟
Claims (20)
- 一種用來進行區塊管理之方法,該方法係應用於一快閃記憶體(Flash Memory)之控制器,該快閃記憶體包含複數個區塊,該方法包含有:依據至少一條件調整一動態門檻;以及比較該複數個區塊中之一特定區塊之一有效或無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
- 如申請專利範圍第1項所述之方法,其中依據該至少一條件調整該動態門檻之步驟另包含:依據該複數個區塊當中空白或已使用的區塊之數量調整該動態門檻。
- 如申請專利範圍第2項所述之方法,其中依據該至少一條件調整該動態門檻之步驟另包含:依據該些空白或已使用的區塊之數量對該複數個區塊之數量的比率來調整該動態門檻。
- 如申請專利範圍第1項所述之方法,其中依據該至少一條件調整該動態門檻之步驟另包含:依據關於該快閃記憶體之一偵測值是否落入複數個範圍當中之一特定範圍來調整該動態門檻。
- 如申請專利範圍第4項所述之方法,其中該偵測值代表該複數個區塊當中空白的區塊之數量,或代表該複數個區塊當中已使用的區塊之數量,或代表該些空白的區塊之數量對該複數個區塊之數量的比率,或代表該些已使用的區塊之數量對該複數個區塊之數量的比率。
- 如申請專利範圍第4項所述之方法,其中該偵測值代表該控制器之一忙碌或閒置等級。
- 如申請專利範圍第4項所述之方法,其中該至少一條件包含該偵測值是否達到一預定門檻之一第一條件;以及依據該至少一條件調整該動態門檻之步驟另包含:於該偵測值達到該預定門檻時,增加該動態門檻。
- 如申請專利範圍第7項所述之方法,其中依據該至少一條件調整該動態門檻之步驟另包含:於該偵測值未達到該預定門檻時,減少該動態門檻。
- 如申請專利範圍第7項所述之方法,其中該至少一條件包含該偵測值是否低於另一預定門檻之一第二條件;以及依據該至少一條件調整該動態門檻之步驟另包含:於該偵測值低於該另一預定門檻時,減少該動態門檻。
- 如申請專利範圍第7項所述之方法,其中該偵測值代表該複數個區塊當中空白區塊之數量。
- 如申請專利範圍第1項所述之方法,其中該至少一條件包含一事件是否發生之一條件;以及依據該至少一條件調整該動態門檻之步驟另包含:當被該事件觸發時,調整該動態門檻。
- 一種記憶裝置,其包含有:一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數個區塊,其中該控制器依據至少一條件調整一動態門檻,並且比較該複數個區塊中之一特定區塊之一有效或無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
- 如申請專利範圍第12項所述之記憶裝置,其中該控制器依據該複數個區塊當中空白或已使用的區塊之數量調整該動態門檻。
- 如申請專利範圍第13項所述之記憶裝置,其中該控制器依據該些空白或已使用的區塊之數量對該複數個區塊之數量的比率來調整該動態門檻。
- 如申請專利範圍第12項所述之記憶裝置,其中該控制器依據關於該快閃記憶體之一偵測值是否落入複數個範圍當中之一特定範圍來調整該動態門檻。
- 如申請專利範圍第15項所述之記憶裝置,其中該偵測值代表該複數個區塊當中空白的區塊之數量,或代表該複數個區塊當中已使用的區塊之數量,或代表該些空白的區塊之數量對該複數個區塊之數量的比率,或代表該些已使用的區塊之數量對該複數個區塊之數量的比率。
- 如申請專利範圍第12項所述之記憶裝置,其中該至少一條件包含一事件是否發生之一條件;以及當該控制器被該事件觸發時,該控制器調整該動態門檻。
- 一種記憶裝置之控制器,該控制器係用來存取(Access)一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊,其中在該微處理器之控制下,該控制器依據至少一條件調整一動態門檻,並且比較該複數 個區塊中之一特定區塊之一有效或無效頁數以及該動態門檻,以判斷是否抹除該特定區塊。
- 如申請專利範圍第18項所述之控制器,其中該控制器依據關於該控制器之一偵測值是否落入複數個範圍當中之一特定範圍來調整該動態門檻。
- 如申請專利範圍第18項所述之控制器,其中該控制器依據該複數個區塊當中空白或已使用的區塊之數量調整該動態門檻。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34750010P | 2010-05-24 | 2010-05-24 | |
US13/014,735 US9104546B2 (en) | 2010-05-24 | 2011-01-27 | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201142602A TW201142602A (en) | 2011-12-01 |
TWI437439B true TWI437439B (zh) | 2014-05-11 |
Family
ID=44973424
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100115461A TWI437439B (zh) | 2010-05-24 | 2011-05-03 | 用來以動態門檻進行區塊管理之方法及記憶裝置及控制器 |
TW100118037A TWI436208B (zh) | 2010-05-24 | 2011-05-23 | 用來管理和存取快閃記憶體模組的控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100118037A TWI436208B (zh) | 2010-05-24 | 2011-05-23 | 用來管理和存取快閃記憶體模組的控制器 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9104546B2 (zh) |
CN (2) | CN102262594A (zh) |
TW (2) | TWI437439B (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101279710B1 (ko) * | 2011-04-01 | 2013-06-27 | 엘에스산전 주식회사 | Plc 데이터 로그모듈 및 이의 데이터 저장 방법 |
US9158670B1 (en) | 2011-06-30 | 2015-10-13 | Western Digital Technologies, Inc. | System and method for dynamically adjusting garbage collection policies in solid-state memory |
KR101919934B1 (ko) * | 2012-04-19 | 2018-11-20 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법 |
US20130282962A1 (en) * | 2012-04-20 | 2013-10-24 | SMART Storage Systems, Inc. | Storage control system with flash configuration and method of operation thereof |
CN103377135B (zh) * | 2012-04-25 | 2016-04-13 | 上海东软载波微电子有限公司 | 寻址方法、装置及系统 |
JP6072428B2 (ja) * | 2012-05-01 | 2017-02-01 | テセラ アドバンスト テクノロジーズ インコーポレーテッド | 制御装置、記憶装置、記憶制御方法 |
TWI544334B (zh) * | 2012-05-30 | 2016-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存裝置操作方法 |
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
CN103530062B (zh) * | 2012-07-03 | 2016-12-21 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
US9740485B2 (en) | 2012-10-26 | 2017-08-22 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
CN103811054B (zh) * | 2012-11-15 | 2017-09-19 | 北京兆易创新科技股份有限公司 | 一种NAND Flash存储器、NAND Flash存储器实现方法及其系统 |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
CN105493051B (zh) * | 2013-06-25 | 2019-03-08 | 马维尔国际贸易有限公司 | 自适应高速缓冲存储器控制器 |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
US9563565B2 (en) | 2013-08-14 | 2017-02-07 | Micron Technology, Inc. | Apparatuses and methods for providing data from a buffer |
US9684568B2 (en) | 2013-12-26 | 2017-06-20 | Silicon Motion, Inc. | Data storage device and flash memory control method |
TWI545571B (zh) * | 2014-02-18 | 2016-08-11 | 慧榮科技股份有限公司 | 存取快閃記憶體的方法及相關的控制器與記憶裝置 |
US10365835B2 (en) | 2014-05-28 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for performing write count threshold wear leveling operations |
KR20160075165A (ko) * | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9880755B2 (en) * | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
KR20170044782A (ko) * | 2015-10-15 | 2017-04-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN105389130A (zh) * | 2015-11-16 | 2016-03-09 | 联想(北京)有限公司 | 一种信息处理方法及固态硬盘 |
WO2017095911A1 (en) * | 2015-12-01 | 2017-06-08 | Huang Yiren Ronnie | Method and apparatus for logically removing defective pages in non-volatile memory storage device |
US9880743B1 (en) * | 2016-03-31 | 2018-01-30 | EMC IP Holding Company LLC | Tracking compressed fragments for efficient free space management |
TWI590051B (zh) * | 2016-06-21 | 2017-07-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
KR102530262B1 (ko) * | 2016-07-21 | 2023-05-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10229047B2 (en) | 2016-08-06 | 2019-03-12 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using cache filtering |
US11237758B2 (en) | 2016-08-06 | 2022-02-01 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using address cache |
US10380028B2 (en) | 2016-12-30 | 2019-08-13 | Western Digital Technologies, Inc. | Recovery of validity data for a data storage system |
TWI685747B (zh) * | 2017-05-03 | 2020-02-21 | 大陸商合肥沛睿微電子股份有限公司 | 延伸裝置與記憶系統 |
CN107678684B (zh) * | 2017-08-22 | 2020-11-10 | 深圳市硅格半导体有限公司 | 存储器的无效数据清除方法、装置和存储器 |
CN107632944B (zh) * | 2017-09-22 | 2021-06-18 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN109671458A (zh) * | 2017-10-17 | 2019-04-23 | 联发科技股份有限公司 | 管理闪存模块的方法及相关的闪存控制器 |
TWI661303B (zh) * | 2017-11-13 | 2019-06-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
WO2019209707A1 (en) * | 2018-04-23 | 2019-10-31 | Micron Technology, Inc. | Host logical-to-physical information refresh |
US10936199B2 (en) * | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
CN109343887A (zh) * | 2018-09-20 | 2019-02-15 | 深圳市零点智联科技有限公司 | 一种优化stm32芯片dfu升级的方法 |
CN110968441B (zh) * | 2018-09-28 | 2023-06-06 | 慧荣科技股份有限公司 | 存储卡存取装置及方法 |
TWI726524B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 電子處理裝置及記憶體控制方法 |
US11500578B2 (en) * | 2021-04-19 | 2022-11-15 | Micron Technology, Inc. | Memory access threshold based memory management |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4757438A (en) * | 1984-07-12 | 1988-07-12 | Texas Instruments Incorporated | Computer system enabling automatic memory management operations |
JP2833062B2 (ja) * | 1989-10-30 | 1998-12-09 | 株式会社日立製作所 | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 |
US5784706A (en) * | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US7620769B2 (en) * | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7526599B2 (en) * | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
KR100526178B1 (ko) * | 2003-03-31 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리 액세스 장치 및 방법 |
JPWO2005103903A1 (ja) * | 2004-04-20 | 2007-08-30 | 松下電器産業株式会社 | 不揮発性記憶システム |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
KR100725410B1 (ko) * | 2006-01-20 | 2007-06-07 | 삼성전자주식회사 | 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법 |
US7779426B2 (en) * | 2006-03-30 | 2010-08-17 | Microsoft Corporation | Describing and querying discrete regions of flash storage |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
US8745315B2 (en) * | 2006-11-06 | 2014-06-03 | Rambus Inc. | Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory |
KR100824412B1 (ko) * | 2006-12-08 | 2008-04-22 | 삼성전자주식회사 | 메모리 카드 시스템 및 그것의 수명 정보 전송 방법 |
KR100881669B1 (ko) * | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
CN101256534B (zh) | 2007-03-01 | 2010-10-06 | 创惟科技股份有限公司 | 闪存的高效率静态平均抹除方法 |
US8701010B2 (en) * | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
TWI368224B (en) * | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
US7908423B2 (en) * | 2007-07-25 | 2011-03-15 | Silicon Motion, Inc. | Memory apparatus, and method of averagely using blocks of a flash memory |
CN201142229Y (zh) * | 2007-12-05 | 2008-10-29 | 苏州壹世通科技有限公司 | 一种闪存阵列装置 |
US8621138B2 (en) * | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
EP2225643B1 (en) * | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
US20090198952A1 (en) * | 2008-02-04 | 2009-08-06 | Apple Inc | Memory Mapping Architecture |
JP2009211234A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US20090271562A1 (en) * | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
CN101339808B (zh) | 2008-07-28 | 2011-02-09 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101645309B (zh) * | 2008-08-05 | 2013-05-22 | 威刚科技(苏州)有限公司 | 非挥发性存储装置及其控制方法 |
US8438325B2 (en) * | 2008-10-09 | 2013-05-07 | Cadence Design Systems, Inc. | Method and apparatus for improving small write performance in a non-volatile memory |
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
US8412880B2 (en) * | 2009-01-08 | 2013-04-02 | Micron Technology, Inc. | Memory system controller to manage wear leveling across a plurality of storage nodes |
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8321727B2 (en) * | 2009-06-29 | 2012-11-27 | Sandisk Technologies Inc. | System and method responsive to a rate of change of a performance parameter of a memory |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8713066B1 (en) * | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
-
2011
- 2011-01-27 US US13/014,735 patent/US9104546B2/en active Active
- 2011-05-03 TW TW100115461A patent/TWI437439B/zh active
- 2011-05-13 CN CN2011101261823A patent/CN102262594A/zh active Pending
- 2011-05-23 TW TW100118037A patent/TWI436208B/zh active
- 2011-05-23 US US13/113,376 patent/US9529709B2/en active Active
- 2011-05-24 CN CN201110135242.8A patent/CN102332290B/zh active Active
-
2013
- 2013-07-15 US US13/942,380 patent/US9606911B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102332290B (zh) | 2015-02-04 |
US9606911B2 (en) | 2017-03-28 |
US9529709B2 (en) | 2016-12-27 |
US20110289260A1 (en) | 2011-11-24 |
US9104546B2 (en) | 2015-08-11 |
US20130304975A1 (en) | 2013-11-14 |
TWI436208B (zh) | 2014-05-01 |
TW201142589A (en) | 2011-12-01 |
US20110289255A1 (en) | 2011-11-24 |
CN102332290A (zh) | 2012-01-25 |
TW201142602A (en) | 2011-12-01 |
CN102262594A (zh) | 2011-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI437439B (zh) | 用來以動態門檻進行區塊管理之方法及記憶裝置及控制器 | |
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US11030093B2 (en) | High efficiency garbage collection method, associated data storage device and controller thereof | |
US8380945B2 (en) | Data storage device, memory system, and computing system using nonvolatile memory device | |
US9891838B2 (en) | Method of operating a memory system having a meta data manager | |
US11126369B1 (en) | Data storage with improved suspend resume performance | |
US9274943B2 (en) | Storage unit management method, memory controller and memory storage device using the same | |
US8738876B2 (en) | Method for performing block management, and associated memory device and controller thereof | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
US11176035B2 (en) | Data storage devices and data processing methods | |
TWI748410B (zh) | 用來針對非揮發性記憶體進行區塊管理的方法以及設備 | |
US20200285393A1 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
CN107924700B (zh) | 自适应多阶段擦除 | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
TW202238369A (zh) | 在快閃記憶體中進行耗損平衡操作的方法和相關控制器以及儲存系統 | |
CN114391139A (zh) | 存储器组件中的使用经调整参数的垃圾收集 | |
US20210042236A1 (en) | Wear leveling across block pools | |
TWI420528B (zh) | 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器 | |
TWI718635B (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
TWI697778B (zh) | 資料儲存裝置與資料處理方法 | |
TWI721365B (zh) | 高效能垃圾收集方法以及資料儲存裝置及其控制器 | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
CN109411000A (zh) | 一种固态存储器的控制方法、固态存储器及存储介质 | |
US20240201850A1 (en) | Fragmentation management for memory systems |