TW201617883A - 資料儲存裝置與操作方法 - Google Patents
資料儲存裝置與操作方法 Download PDFInfo
- Publication number
- TW201617883A TW201617883A TW104130052A TW104130052A TW201617883A TW 201617883 A TW201617883 A TW 201617883A TW 104130052 A TW104130052 A TW 104130052A TW 104130052 A TW104130052 A TW 104130052A TW 201617883 A TW201617883 A TW 201617883A
- Authority
- TW
- Taiwan
- Prior art keywords
- state
- flash memory
- memory
- blocks
- threshold
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F2212/1024—Latency reduction
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一種資料儲存裝置,包括快閃記憶體以及控制器。快閃記憶體包括複數個區塊,其中區塊之每一者包括複數個頁面。控制器耦接快閃記憶體,用以依據快閃記憶體中的空閒區塊的數量以及快閃記憶體中多數頁面為空閒的無效率區塊的數量,在快閃記憶體執行一記憶體回收流程,用以合併至少兩個無效率區塊以從複數個無效率區塊中釋放至少一個空閒區塊。
Description
本發明係關於一種包含快閃記憶體(FLASH memory)的資料儲存裝置,特別是關於在快閃記憶體上執行記憶體回收(garbage-collection,GC)之流程。
記憶體回收流程被廣泛使用於各種記憶體裝置中。記憶體回收流程特別被使用在大多數頁面為被用或空閒的無效率的區塊,合併這些無效率的區塊為一個有效率的區塊,而得到更多備用區塊。藉由規律地執行記憶體回收流程,能夠提升記憶體裝置的效率。
然而,是否執行記憶體回收流程通常是由一個臨界值所決定。當決定執行記憶體回收流程時,會降低記憶體裝置的效能。舉例而言,因為執行記憶體回收,造成寫入延遲的突然增加以及效能突然劣化。此外,記憶體裝置具有不同的操作狀態,能夠執行來自主機的各種指令。因此,需要一種動態調整的記憶體回收流程,防止記憶體裝置的效能突然劣化,並且配合各種操作狀態與主機指令。
本發明之一實施例提供了一種資料儲存裝置,包括快閃記憶體以及控制器。快閃記憶體包括複數個區塊,其中區塊之每一者包括複數個頁面。控制器耦接快閃記憶體,
用以依據快閃記憶體中的空閒區塊的數量以及快閃記憶體中多數頁面為空閒的無效率區塊的數量,在快閃記憶體執行一記憶體回收流程,並且記憶體回收流程係用以合併至少兩個無效率區塊以從複數個無效率區塊中釋放至少一個空閒區塊。
在一實施例中,當無效率區塊的數量小於一第一
鄰界值時,快閃記憶體位於一第一狀態;當快閃記憶體中的空閒區塊的數量大於或等於一第二鄰界值時,快閃記憶體位於一第二狀態;當快閃記憶體中的空閒區塊的數量大於或等於一第三鄰界值並且小於第二臨界值時,快閃記憶體位於一第三狀態或一第四狀態;當快閃記憶體中的空閒區塊的數量大於或等於一第四鄰界值並且小於第三臨界值時,快閃記憶體位於一第五狀態;以及當快閃記憶體中的空閒區塊的數量小於第四臨界值時,快閃記憶體位於一第六狀態,其中第二臨界值大於第三臨界值,第三臨界值大於第四臨界值。相較於快閃記憶體位於第三狀態,當快閃記憶體位於該第四狀態時控制器會執行更多記憶體回收流程。
此外,控制器更依據資料儲存裝置的一操作模式
在快閃記憶體執行記憶體回收流程。資料儲存裝置的操作模式包括一讀取再生操作或是一平均抹除操作,並且平均抹除操作的記憶體回收流程的執行,比起讀取再生操作的記憶體回收流程的執行具有較高的優先順序。當操作模式為讀取再生操作時,控制器指定要被再生的區塊為要被合併的區塊,並且當快閃記憶體位於第一狀態、第二狀態、第三狀態、第
四狀態或第五狀態時,執行讀取再生操作。當操作模式為平均抹除操作時,控制器指定低抹除次數的區塊為記憶體回收流程中要被合併的區塊,並且當快閃記憶體位於第一狀態、第二狀態、第三狀態、第四狀態或第五狀態時,執行平均抹除操作。
在另一實施例中,控制器耦接一主機,控制器更依據主機所傳送的指令在快閃記憶體執行記憶體回收流程。主機所傳送的指令包括一更新指令或一清除指令。當快閃記憶體位於第一狀態、第二狀態、第三狀態或第四狀態時,快閃記憶體流程係依據更新指令而執行,當快閃記憶體位於第一狀態或第二狀態時,快閃記憶體流程係依據清除指令而執行。當快閃記憶體位於第六狀態時執行記憶體回收流程的頻率,高於當快閃記憶體位於第一狀態、第二狀態、第三狀態、第四狀態或第五狀態時執行記憶體回收流程的頻率。
本發明之另一實施例提供了一種快閃記憶體之操作方法,包括決定快閃記憶體中的空閒區塊的數量以及快閃記憶體中多數頁面為空閒的無效率區塊的數量;以及依據快閃記憶體中的空閒區塊的數量以及無效率區塊的數量,在快閃記憶體執行一記憶體回收流程,其中記憶體回收流程係用以合併至少兩個無效率區塊以從複數個無效率區塊中釋放至少一個空閒區塊。
關於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之資料儲存裝置與操作方法。
100‧‧‧資料儲存裝置
120‧‧‧控制器
140‧‧‧快閃記憶體
160-16N‧‧‧區塊
160A、160Z-16NZ‧‧‧頁面
180‧‧‧主機
S310‧‧‧安全抹除GC
S320‧‧‧平均抹除
S330‧‧‧讀取再生
S340‧‧‧GC回復效能
S342‧‧‧GC空閒
S344‧‧‧GC緊急
S350‧‧‧更新
S360‧‧‧清除
第1圖係顯示根據本發明一實施例所述之資料儲存裝置之方塊示意圖;第2圖係顯示根據本發明一實施例所述之快閃記憶體之複數個狀態的示意圖;第3圖係顯示根據本發明一實施例所述之具有不同操作模式與主機指令的快閃記憶體之複數個狀態的另一示意圖;第4A與4B圖係顯示根據本發明一實施例所述之快閃記憶體之操作方法的流程圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置100之方塊示意圖。在一實施例中,資料儲存裝置100包括控制器120與快閃記憶體140,並且資料儲存裝置耦接主機180以傳送資料與指令或接收資料與指令。如第1圖所示,快閃記憶體140包括複數個區塊160~16N,區塊160~16N中的每一者包括複數個頁面160A~16NZ。舉例而言,區塊160包括頁面160A~160Z,區塊16N包括頁面16NA~16NZ。此外,控制
器120耦接快閃記憶體140以相互傳送資料與指令或接收資料與指令。進一步而言,控制器120可包括具有韌體碼之一微控制器以及唯讀記憶體(ROM)。微控制器執行韌體碼以操作或是存取快閃記憶體140。要注意的是,控制器120讀取或寫入快閃記憶體140的頁面160A~16NZ,並且在快閃記憶體140執行記憶體回收流程。
在一實施例中,控制器120係用以依據快閃記憶體
140中的空閒區塊的數量、以及快閃記憶體140中的多數頁面為空閒的無效率區塊的數量,在快閃記憶體140執行記憶體回收流程。記憶體回收流程係用以合併至少兩個無效率的區塊,從無效率的區塊中釋放出至少一個空閒的區塊。進一步而言,空閒區塊的特徵在於其每一個頁面都是空的、沒有寫入任何資料。無效率的區塊的特徵在於其大部分的頁面是空的、沒有寫入資料。
在一實施例中,記憶體回收流程係根據複數個臨
界值而不是只有一個臨界值來執行或操作,以避免快閃記憶體140的突然延遲。舉例而言,第2圖係顯示根據本發明一實施例所述之快閃記憶體140之複數個狀態的示意圖。在一實施例中,當快閃記憶體140中的無效率區塊的數量大於或等於第一臨界值V1時,快閃記憶體140位於第一狀態S1。當快閃記憶體140中的無效率區塊的數量大於或等於第二臨界值V2時,快閃記憶體140位於第二狀態S2。當快閃記憶體140中的無效率區塊的數量大於或等於第三臨界值V3但是小於第二臨界值V2時,快閃記憶體140位於第三狀態S3或第四狀態S4。當
快閃記憶體140中的無效率區塊的數量大於或等於第四臨界值V4但是小於第三臨界值V3時,快閃記憶體140位於第五狀態S5。當快閃記憶體140中的無效率區塊的數量小於或等於第四臨界值V4時,快閃記憶體140位於第六狀態S6。要注意的是,第二臨界值V2大於第三臨界值V3,第三臨界值V3大於第四鄰界值V4。舉例而言,快閃記憶體具有1024個區塊,而第二臨界值V2、第三臨界值V3與第四臨界值V4分別為30、24與18。
快閃記憶體140的狀態的詳細描述如表1所示。
舉例而言,當快閃記憶體140沒有無效率區塊或是很少無
效率區塊時,無效率區塊的數量小於第一臨界值V1,快閃記憶體140屬於第一狀態S1。當快閃記憶體140在第一狀態S1時,亦具有足夠的空閒區塊。當快閃記憶體140的無效率區塊的數量大於或等於第一臨界值V1時,快閃記憶體140為第二狀態S2,並且控制器120執行或啟動記憶體回收流程。舉例而言,快閃記憶體140有10個無效率區塊。在執行記憶體回收流程之後,10個無效率區塊會被收集並彙整為一個區塊以釋放其他9個空閒區塊。換言之,可以得到額外的9個空閒區塊。
此外,當快閃記憶體140的空閒區塊的數量大於或
等於第二臨界值V2,則快閃記憶體140位於第二狀態S2,並且控制器120執行記憶體回收流程。詳細而言,當更多資料寫入快閃記憶體140時,就會降低空閒區塊的數量。因此,在寫入操作的期間,如果空閒區塊的數量小於第二臨界值V2,快閃記憶體140的狀態會從第二狀態S2改變為第三狀態S3。同樣地,當空閒區塊的數量小於第三臨界值V3或是小於第四臨界值V4,則快閃記憶體140會分別進入第五狀態S5或第六狀態S6。當快閃記憶體140位於第六狀態S6時,空閒區塊的數量很少,需要緊急執行記憶體回收流程以得到更多空閒區塊,使得快閃記憶體140能夠適當而正常操作。當空閒區塊的數量大於或等於第四臨界值V4或第三臨界值V3時,快閃記憶體140的狀態會從第六狀態S6分別改變為第五狀態S5或第四狀態S4。
要注意的是,相較於快閃記憶體140位於第三狀態S3,當快閃記憶體140位於第四狀態S4時會執行更多記憶體回
收流程。第三狀態S3與第四狀態S4的差別在於,第三狀態S3相較於第四狀態S4而言,良好效能具有較高的優先順序。另一方面,因為快閃記憶體140在第四狀態S4時能夠犧牲效能,控制器120執行較多的記憶體回收流程。然而,第2圖之示意圖係用以說明而非限制。在其他實施例中,當空閒區塊的數量小於第二臨界值V2時,快閃記憶體140的狀態可以從第二狀態S2改變為第四狀態S4。當空閒區塊的數量大於第三臨界值V3時,快閃記憶體140的狀態可以從第五狀態S5改變為第四狀態S4。
第3圖係顯示根據本發明一實施例所述之具有不
同操作模式與主機指令的快閃記憶體之複數個狀態的另一示意圖。在一實施例中,控制器120依據資料儲存裝置100的操作模式而執行快閃記憶體140的記憶體回收流程。詳細而言,資料儲存裝置100的操作模式包括安全抹除GC操作S310、平均抹除操作S320、以及讀取再生操作S330。在另一實施例中,資料儲存裝置100的操作模式包括平均抹除操作S320以及讀取再生操作S330。要注意的是,平均抹除操作S320的記憶體回收流程的執行,比起讀取再生S330的記憶體回收流程的執行具有較高的優先順序。
如第3圖所示,在一實施例中,當快閃記憶體140
位於第一狀態S1、第二狀態S2、第三狀態S3、第四狀態S4、第五狀態S5或第六狀態S6時,則執行安全抹除GC操作S310。
換言之,在快閃記憶體140的每一個狀態中都可以執行安全抹除GC操作S310。在另一實施例中,當快閃記憶體140位於第
一狀態S1、第二狀態S2、第三狀態S3、第四狀態S4或第五狀態S5時,則執行平均抹除操作S320。當操作模式為平均抹除操作S320時,控制器120指定低抹除次數的區塊為記憶體回收流程中進行整併的區塊。換言之,較低抹除次數的區塊會被整併以釋放與得到更多的空閒區塊。在另一實施例中,當快閃記憶體140位於第一狀態S1、第二狀態S2、第三狀態S3、第四狀態S4或第五狀態S5時,則執行讀取再生操作S330。當操作模式為讀取再生操作S330時,控制器120指定要被再生的區塊為要被整併的區塊以執行記憶體回收流程。換言之,將被再生的區塊會被整併以釋放與得到更多的空閒區塊。
此外,當快閃記憶體140位於第二狀態S2、第三狀
態S3或第四狀態S4,表示快閃記憶體140具有足夠的空閒區塊不用犧牲太多效能就能執行與操作GC,則執行GC回復效能S340。當快閃記憶體140位於第五狀態S5表示快閃記憶體140沒有足夠的空閒區塊而需要更多空閒區塊時,則執行GC空閒操作S342。當快閃記憶體140位於第六狀態S6表示快閃記憶體140具有很少的空閒區塊而迫切需要更多空閒區塊時,則執行GC緊急操作S344。
詳細而言,當快閃記憶體140在第六狀態S6(對應
GC回復效能操作S340)時執行記憶體回收流程的頻率會高於當快閃記憶體140位於第一狀態S1、第二狀態S2、第三狀態S3、第四狀態S4(對應GC空閒操作S342)或第五狀態S5(對應GC緊急操作S344)時執行記憶體回收流程的頻率。進一步說明之,當快閃記憶體140位於第四狀態S4時,執行記憶體回收
流程,並且將第一容量的資料寫入快閃記憶體140,然後再次執行記憶體回收流程。當快閃記憶體140位於第六狀態S6時,執行記憶體回收流程,並且將第二容量的資料寫入快閃記憶體140,然後再次執行記憶體回收流程。第二容量大於第一容量。舉例而言,第一容量為16KB,第二容量為1MB。換言之,因為第六狀態S6比其他五個狀態S1~S5更迫切需要取得空閒區塊,當快閃記憶體140在第六狀態S6時執行記憶體回收流程的頻率會高於當快閃記憶體140位於第四狀態S4時執行記憶體回收流程的頻率。因此,本發明提供了一種多重記憶體回收流程,能夠對應快閃記憶體的不同狀態S1~S6以不同的頻率來加以執行。
在另一實施例中,控制器120耦接主機180,並且
控制器120依據主機180所傳送的指令而在快閃記憶體140執行記憶體回收流程。詳細而言,主機180所傳送的指令包括更新指令S350以及清除指令S360。進一步而言,當快閃記憶體140位於第一狀態S1、第二狀態S2、第三狀態S3或第四狀態S4時,則依據更新指令S350執行記憶體回收流程。當快閃記憶體140位於第一狀態S1或第二狀態S2時,則依據清除指令S360執行記憶體回收流程。因此,本發明提供了一種動態調整的記憶體回收流程,防止傳統單一臨界值的記憶體回收流程所造成的記憶體裝置的效能的突然劣化。再者,本發明所提供的記憶體回收流程可對應於各種操作狀態以及主機指令。
第4A與4B圖係顯示根據本發明一實施例所述之
快閃記憶體140之操作方法的流程圖。在步驟S410中,決定在快閃記憶體140中多數頁面為空閒的無效率區塊的數量以及快閃記憶體140中的空閒區塊的數量。在步驟S412中,依據快閃記憶體140中的空閒區塊的數量以及無效率區塊的數量決定快閃記憶體140的記憶體回收流程。然後,在步驟S414中,決定無效率區塊的數量是否大於或等於第一臨界值V1。如果無效率區塊的數量大於或等於第一臨界值V1,則執行步驟S416,快閃記憶體140位於第一狀態S1。如果無效率區塊的數量小於第一臨界值V1,則執行步驟S418,決定快閃記憶體140中的空閒區塊的數量是否大於或等於第二臨界值V2。如果快閃記憶體140中的空閒區塊的數量大於或等於第二臨界值V2,則執行步驟S420,快閃記憶體140位於第二狀態S2。快閃記憶體140中的空閒區塊的數量小於第二臨界值V2,則執行步驟S422。
在步驟S422中,決定快閃記憶體140中的空閒區塊
的數量是否大於或等於第三臨界值而小於第二臨界值。如果快閃記憶體140中的空閒區塊的數量大於或等於第三臨界值V3而小於第二臨界值V2,則執行步驟S423。如果快閃記憶體140中的空閒區塊的數量小於第三臨界值V3,則執行步驟S426。在步驟S423中,決定快閃記憶體140的效能是否比記憶體回收流程具有更高的優先順序。如果快閃記憶體140的效能比記憶體回收流程具有更高的優先順序,則執行步驟S424,快閃記憶體140位於第三狀態S3。如果快閃記憶體140的效能沒有比記憶體回收流程具有更高的優先順序,則執行步驟
S425,快閃記憶體140位於第四狀態S4。此外,在步驟S426中,決定快閃記憶體140中的空閒區塊的數量是否大於或等於第四臨界值V4而小於第三臨界值V3。如果快閃記憶體140中的空閒區塊的數量大於或等於第四臨界值V4而小於第三臨界值V3,則執行步驟S428,快閃記憶體140位於第五狀態S5。
如果快閃記憶體140中的空閒區塊的數量小於第四臨界值V4,則執行步驟S430,快閃記憶體140位於第六狀態S6。透過各種主機指令以及對應各種操作狀態而執行記憶體回收流程的方法如前所述,故此處不再贅述之。
在本說明書以及申請專利範圍中的序數,例如「第
一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示區分兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S310‧‧‧安全抹除GC
S320‧‧‧平均抹除
S330‧‧‧讀取再生
S340‧‧‧GC回復效能
S342‧‧‧GC空閒
S344‧‧‧GC緊急
S350‧‧‧更新
S360‧‧‧清除
Claims (22)
- 一種資料儲存裝置,包括:一快閃記憶體(FLASH memory),包括複數個區塊,其中該等區塊之每一者包括複數個頁面;以及一控制器,耦接該快閃記憶體,用以依據該快閃記憶體中的空閒區塊的數量以及該快閃記憶體中多數頁面為空閒的無效率區塊的數量,在該快閃記憶體執行一記憶體回收(garbage-collection)流程,其中該記憶體回收流程係用以合併至少兩個無效率區塊以從複數個無效率區塊中釋放至少一個空閒區塊。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器決定:當該無效率區塊的數量小於一第一鄰界值時,該快閃記憶體位於一第一狀態;當該快閃記憶體中的該空閒區塊的數量大於或等於一第二鄰界值時,該快閃記憶體位於一第二狀態;當該快閃記憶體中的該空閒區塊的數量大於或等於一第三鄰界值並且小於該第二臨界值時,該快閃記憶體位於一第三狀態或一第四狀態;當該快閃記憶體中的該空閒區塊的數量大於或等於一第四鄰界值並且小於該第三臨界值時,該快閃記憶體位於一第五狀態;以及當該快閃記憶體中的該空閒區塊的數量小於該第四臨界值時,該快閃記憶體位於一第六狀態,其中該第二臨界值 大於該第三臨界值,該第三臨界值大於該第四臨界值。
- 如申請專利範圍第2項所述之資料儲存裝置,其中相較於該快閃記憶體位於該第三狀態,當該快閃記憶體位於該第四狀態時該控制器會執行更多該記憶體回收流程。
- 如申請專利範圍第2項所述之資料儲存裝置,其中該控制器更依據該資料儲存裝置的一操作模式在該快閃記憶體執行該記憶體回收流程。
- 如申請專利範圍第4項所述之資料儲存裝置,其中該資料儲存裝置的操作模式包括一讀取再生操作或是一平均抹除操作,並且該平均抹除操作的記憶體回收流程的執行,比起該讀取再生操作的記憶體回收流程的執行具有較高的優先順序。
- 如申請專利範圍第5項所述之資料儲存裝置,其中當該操作模式為該讀取再生操作時,該控制器指定要被再生的區塊為要被合併的區塊,並且當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時,執行該讀取再生操作。
- 如申請專利範圍第5項所述之資料儲存裝置,其中當該操作模式為該平均抹除操作時,該控制器指定低抹除次數的區塊為記憶體回收流程中要被合併的區塊,並且當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時,執行該平均抹除操作。
- 如申請專利範圍第2項所述之資料儲存裝置,其中該控制器耦接一主機,該控制器更依據該主機所傳送的指令在該 快閃記憶體執行該記憶體回收流程。
- 如申請專利範圍第8項所述之資料儲存裝置,其中該主機所傳送的該指令包括一更新指令或一清除指令。
- 如申請專利範圍第9項所述之資料儲存裝置,其中當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態或該第四狀態時,該快閃記憶體流程係依據該更新指令而執行,當該快閃記憶體位於該第一狀態或該第二狀態時,該快閃記憶體流程係依據該清除指令而執行。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當該快閃記憶體位於該第六狀態時執行該記憶體回收流程的頻率,高於當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時執行該記憶體回收流程的頻率。
- 一種快閃記憶體(FLASH memory)之操作方法,包括:決定該快閃記憶體中的空閒區塊的數量以及該快閃記憶體中多數頁面為空閒的無效率區塊的數量;以及依據該快閃記憶體中的空閒區塊的數量以及無效率區塊的數量,在該快閃記憶體執行一記憶體回收(garbage-collection)流程,其中該記憶體回收流程係用以合併至少兩個無效率區塊以從複數個無效率區塊中釋放至少一個空閒區塊。
- 如申請專利範圍第12項所述之操作方法,更包括:當該無效率區塊的數量小於一第一鄰界值時,決定該快閃記憶體位於一第一狀態; 當該快閃記憶體中的該空閒區塊的數量大於或等於一第二鄰界值時,決定該快閃記憶體位於一第二狀態;當該快閃記憶體中的該空閒區塊的數量大於或等於一第三鄰界值並且小於該第二臨界值時,決定該快閃記憶體位於一第三狀態或一第四狀態;當該快閃記憶體中的該空閒區塊的數量大於或等於一第四鄰界值並且小於該第三臨界值時,決定該快閃記憶體位於一第五狀態;以及當該快閃記憶體中的該空閒區塊的數量小於該第四臨界值時,決定該快閃記憶體位於一第六狀態,其中該第二臨界值大於該第三臨界值,該第三臨界值大於該第四臨界值。
- 如申請專利範圍第13項所述之操作方法,其中相較於該快閃記憶體位於該第三狀態,當該快閃記憶體位於該第四狀態時會執行更多該記憶體回收流程。
- 如申請專利範圍第13項所述之操作方法,更包括依據該資料儲存裝置的一操作模式在該快閃記憶體執行該記憶體回收流程。
- 如申請專利範圍第15項所述之操作方法,其中該資料儲存裝置的操作模式包括一讀取再生操作或是一平均抹除操作,並且該平均抹除操作的記憶體回收流程的執行,比起該讀取再生操作的記憶體回收流程的執行具有較高的優先順序。
- 如申請專利範圍第16項所述之操作方法,其中當該操作模 式為該讀取再生操作時,指定要被再生的區塊為要被合併的區塊,並且當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時,執行該讀取再生操作。
- 如申請專利範圍第16項所述之操作方法,其中當該操作模式為該平均抹除操作時,指定低抹除次數的區塊為記憶體回收流程中要被合併的區塊,並且當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時,執行該平均抹除操作。
- 如申請專利範圍第13項所述之操作方法,更包括依據該主機所傳送的指令在該快閃記憶體執行該記憶體回收流程。
- 如申請專利範圍第19項所述之操作方法,其中該指令包括一更新指令或一清除指令。
- 如申請專利範圍第20項所述之操作方法,其中當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態或該第四狀態時,該快閃記憶體流程係依據該更新指令而執行,當該快閃記憶體位於該第一狀態或該第二狀態時,該快閃記憶體流程係依據該清除指令而執行。
- 如申請專利範圍第13項所述之操作方法,其中當該快閃記憶體位於該第六狀態時執行該記憶體回收流程的頻率,高於當該快閃記憶體位於該第一狀態、該第二狀態、該第三狀態、該第四狀態或該第五狀態時執行該記憶體回收流程的頻率。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/537,551 US9606733B2 (en) | 2014-11-10 | 2014-11-10 | Data storage device and operating method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201617883A true TW201617883A (zh) | 2016-05-16 |
TWI597604B TWI597604B (zh) | 2017-09-01 |
Family
ID=55912250
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106121037A TWI648627B (zh) | 2014-11-10 | 2015-09-11 | 資料儲存裝置與操作方法 |
TW104130052A TWI597604B (zh) | 2014-11-10 | 2015-09-11 | 資料儲存裝置與操作方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106121037A TWI648627B (zh) | 2014-11-10 | 2015-09-11 | 資料儲存裝置與操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9606733B2 (zh) |
CN (1) | CN105589811B (zh) |
TW (2) | TWI648627B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
KR20180040288A (ko) | 2016-10-12 | 2018-04-20 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
CN106604111A (zh) * | 2016-12-16 | 2017-04-26 | 深圳市九洲电器有限公司 | 机顶盒Flash数据存储方法及系统 |
US10452532B2 (en) * | 2017-01-12 | 2019-10-22 | Micron Technology, Inc. | Directed sanitization of memory |
US10437708B2 (en) | 2017-01-26 | 2019-10-08 | Bank Of America Corporation | System for refreshing and sanitizing testing data in a low-level environment |
TWI646554B (zh) * | 2017-03-28 | 2019-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
US10545692B2 (en) * | 2017-04-04 | 2020-01-28 | Sandisk Technologies Llc | Memory maintenance operations during refresh window |
US10885991B2 (en) | 2017-04-04 | 2021-01-05 | Sandisk Technologies Llc | Data rewrite during refresh window |
KR102259256B1 (ko) * | 2017-05-16 | 2021-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI658361B (zh) * | 2017-09-05 | 2019-05-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10445008B2 (en) | 2017-09-15 | 2019-10-15 | Macronix International Co., Ltd. | Data management method for memory and memory apparatus |
KR102419036B1 (ko) | 2017-12-18 | 2022-07-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11004495B2 (en) | 2017-12-18 | 2021-05-11 | SK Hynix Inc. | Data storage device and operating method thereof |
TWI643065B (zh) * | 2017-12-20 | 2018-12-01 | 慧榮科技股份有限公司 | 用於動態執行記憶體回收資料儲存裝置與操作方法 |
CN110058794B (zh) * | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US10331555B1 (en) | 2018-03-06 | 2019-06-25 | Western Digital Technologies, Inc. | Dynamic memory compaction |
US10635599B2 (en) | 2018-07-26 | 2020-04-28 | Sandisk Technologies Llc | Memory controller assisted address mapping |
TWI702496B (zh) * | 2018-08-28 | 2020-08-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN110333770B (zh) * | 2019-07-10 | 2023-05-09 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
TWI726775B (zh) * | 2020-07-23 | 2021-05-01 | 華邦電子股份有限公司 | 一種記憶體裝置及其輸入輸出緩衝控制方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094445A1 (en) * | 2005-10-20 | 2007-04-26 | Trika Sanjeev N | Method to enable fast disk caching and efficient operations on solid state disks |
TWI366828B (en) * | 2007-09-27 | 2012-06-21 | Phison Electronics Corp | Wear leveling method and controller using the same |
TWI372396B (en) * | 2007-09-28 | 2012-09-11 | Phison Electronics Corp | Method of protecting data for power failure and controller using the same |
CN101339808B (zh) * | 2008-07-28 | 2011-02-09 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件系统中静态数据损耗均衡的方法 |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及系统 |
TWI515735B (zh) * | 2013-12-09 | 2016-01-01 | 群聯電子股份有限公司 | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
-
2014
- 2014-11-10 US US14/537,551 patent/US9606733B2/en active Active
-
2015
- 2015-09-11 TW TW106121037A patent/TWI648627B/zh active
- 2015-09-11 TW TW104130052A patent/TWI597604B/zh active
- 2015-10-20 CN CN201510681507.2A patent/CN105589811B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TWI648627B (zh) | 2019-01-21 |
US20160132253A1 (en) | 2016-05-12 |
TW201737089A (zh) | 2017-10-16 |
CN105589811A (zh) | 2016-05-18 |
CN105589811B (zh) | 2019-02-01 |
US9606733B2 (en) | 2017-03-28 |
TWI597604B (zh) | 2017-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI597604B (zh) | 資料儲存裝置與操作方法 | |
TWI604308B (zh) | 資料儲存裝置及其資料維護方法 | |
TWI622923B (zh) | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI479313B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
JP5377175B2 (ja) | コントローラ、及びデータ記憶装置 | |
KR20140114515A (ko) | 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법 | |
TWI508099B (zh) | 工作時脈切換方法、記憶體控制器與記憶體儲存裝置 | |
JP2014513338A5 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
TW201732821A (zh) | 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11042453B2 (en) | Database journaling method and apparatus | |
WO2016165597A1 (zh) | 数据存储的处理方法及装置 | |
WO2015058493A1 (zh) | 一种存储数据处理方法及装置 | |
TW201820145A (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20190073298A1 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US9959060B1 (en) | Data separation during host write with storage allocated based on traffic profiles | |
TWI557559B (zh) | 利用快閃記憶體的壞頁來存取資料的方法 | |
US11755242B2 (en) | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit | |
US20160078967A1 (en) | Power Loss Test Device And Method For Nonvolatile Memory Device | |
US20170277436A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
TWI615770B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
WO2017012507A1 (zh) | 一种数据恢复方法及装置 | |
US9779001B2 (en) | Mirroring device, control method thereof, and storage medium that maintain difference in remaining writable amounts of data | |
TWI467578B (zh) | 錯誤處理方法、記憶體儲存裝置與記憶體控制電路單元 | |
US20140089356A1 (en) | Data storage device and operating method thereof | |
JP6035905B2 (ja) | ストレージシステムおよびストレージシステムの制御方法 |