CN105589811A - 数据储存装置与操作方法 - Google Patents
数据储存装置与操作方法 Download PDFInfo
- Publication number
- CN105589811A CN105589811A CN201510681507.2A CN201510681507A CN105589811A CN 105589811 A CN105589811 A CN 105589811A CN 201510681507 A CN201510681507 A CN 201510681507A CN 105589811 A CN105589811 A CN 105589811A
- Authority
- CN
- China
- Prior art keywords
- state
- flash memory
- memory
- block
- recovery process
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
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/0253—Garbage collection, i.e. reclamation of unreferenced 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/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/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/7205—Cleaning, compaction, garbage collection, erase control
Abstract
本发明涉及一种数据储存装置与操作方法,该装置包括快闪存储器以及控制器。快闪存储器包括多个区块,其中区块的每一个包括多个页面。控制器耦接快闪存储器,用以依据快闪存储器中的空闲区块的数量以及快闪存储器中多数页面为空闲的无效率区块的数量,在快闪存储器执行一存储器回收流程,用以合并至少两个无效率区块以从多个无效率区块中释放至少一个空闲区块。
Description
技术领域
本发明有关于一种包含快闪存储器(FLASHmemory)的数据储存装置,特别是关于在快闪存储器上执行存储器回收(garbage-collection,GC)的流程。
背景技术
存储器回收流程被广泛使用于各种存储器装置中。存储器回收流程特别被使用在大多数页面为被用或空闲的无效率的区块,合并这些无效率的区块为一个有效率的区块,而得到更多备用区块。藉由规律地执行存储器回收流程,能够提升存储器装置的效率。
然而,是否执行存储器回收流程通常是由一个临界值所决定。当决定执行存储器回收流程时,会降低存储器装置的效能。举例而言,因为执行存储器回收,造成写入延迟的突然增加以及效能突然劣化。此外,存储器装置具有不同的操作状态,能够执行来自主机的各种指令。因此,需要一种动态调整的存储器回收流程,防止存储器装置的效能突然劣化,并且配合各种操作状态与主机指令。
发明内容
本发明的一实施例提供了一种数据储存装置,包括快闪存储器以及控制器。快闪存储器包括多个区块,其中区块的每一个包括多个页面。控制器耦接快闪存储器,用以依据快闪存储器中的空闲区块的数量以及快闪存储器中多数页面为空闲的无效率区块的数量,在快闪存储器执行一存储器回收流程,并且存储器回收流程用以合并至少两个无效率区块以从多个无效率区块中释放至少一个空闲区块。
在一实施例中,当无效率区块的数量小于一第一邻界值时,快闪存储器位于一第一状态;当快闪存储器中的空闲区块的数量大于或等于一第二邻界值时,快闪存储器位于一第二状态;当快闪存储器中的空闲区块的数量大于或等于一第三邻界值并且小于第二临界值时,快闪存储器位于一第三状态或一第四状态;当快闪存储器中的空闲区块的数量大于或等于一第四邻界值并且小于第三临界值时,快闪存储器位于一第五状态;以及当快闪存储器中的空闲区块的数量小于第四临界值时,快闪存储器位于一第六状态,其中第二临界值大于第三临界值,第三临界值大于第四临界值。相较于快闪存储器位于第三状态,当快闪存储器位于该第四状态时控制器会执行更多存储器回收流程。
此外,控制器还依据数据储存装置的一操作模式在快闪存储器执行存储器回收流程。数据储存装置的操作模式包括一读取再生操作或是一平均抹除操作,并且平均抹除操作的存储器回收流程的执行,比起读取再生操作的存储器回收流程的执行具有较高的优先顺序。当操作模式为读取再生操作时,控制器指定要被再生的区块为要被合并的区块,并且当快闪存储器位于第一状态、第二状态、第三状态、第四状态或第五状态时,执行读取再生操作。当操作模式为平均抹除操作时,控制器指定低抹除次数的区块为存储器回收流程中要被合并的区块,并且当快闪存储器位于第一状态、第二状态、第三状态、第四状态或第五状态时,执行平均抹除操作。
在另一实施例中,控制器耦接一主机,控制器还依据主机所传送的指令在快闪存储器执行存储器回收流程。主机所传送的指令包括一更新指令或一清除指令。当快闪存储器位于第一状态、第二状态、第三状态或第四状态时,快闪存储器流程依据更新指令而执行,当快闪存储器位于第一状态或第二状态时,快闪存储器流程依据清除指令而执行。当快闪存储器位于第六状态时执行存储器回收流程的频率,高于当快闪存储器位于第一状态、第二状态、第三状态、第四状态或第五状态时执行存储器回收流程的频率。
本发明的另一实施例提供了一种快闪存储器的操作方法,包括决定快闪存储器中的空闲区块的数量以及快闪存储器中多数页面为空闲的无效率区块的数量;以及依据快闪存储器中的空闲区块的数量以及无效率区块的数量,在快闪存储器执行一存储器回收流程,其中存储器回收流程用以合并至少两个无效率区块以从多个无效率区块中释放至少一个空闲区块。
关于本发明其他附加的特征与优点,此领域的熟悉本技术领域者,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭示的数据储存装置与操作方法。
附图说明
图1是显示根据本发明一实施例所述的数据储存装置的方块示意图;
图2是显示根据本发明一实施例所述的快闪存储器的多个状态的示意图;
图3是显示根据本发明一实施例所述的具有不同操作模式与主机指令的快闪存储器的多个状态的另一示意图;
图4A与4B是显示根据本发明一实施例所述的快闪存储器的操作方法的流程图。
符号说明
100~数据储存装置;
120~控制器;
140~快闪存储器;
160-16N~区块;
160A、160Z-16NZ~页面;
180~主机;
S310~安全抹除GC;
S320~平均抹除;
S330~读取再生;
S340~GC回复效能;
S342~GC空闲;
S344~GC紧急;
S350~更新;
S360~清除。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件或上述任意组合来实现。
图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的突然延迟。举例而言,图是显示根据本发明一实施例所述的快闪存储器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所示。
状态 | 描述 |
S1 | 快闪存储器140没有无效率区块或是很少无效率区块 |
S2 | 快闪存储器140有许多空闲区块以及一些无效率区块 |
S3 | 快闪存储器140有足够的空闲区块并且需要良好效能 |
S4 | 快闪存储器140具有足够的空闲区块并且能够牺牲一些效能 |
S5 | 快闪存储器140没有足够的空闲区块 |
S6 | 快闪存储器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。透过各种主机指令以及对应各种操作状态而执行存储器回收流程的方法如前所述,故此处不再赘述。
在本说明书以及申请专利范围中的序数,例如“第一”、“第二”、“第三”等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中“耦接”一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (22)
1.一种数据储存装置,包括:
一快闪存储器,包括多个区块,其中这些区块的每一个包括多个页面;以及
一控制器,耦接该快闪存储器,用以依据该快闪存储器中的空闲区块的数量以及该快闪存储器中多数页面为空闲的无效率区块的数量,在该快闪存储器执行一存储器回收流程,其中该存储器回收流程用以合并至少两个无效率区块以从多个无效率区块中释放至少一个空闲区块。
2.如权利要求1所述的数据储存装置,其特征在于,该控制器决定:
当该无效率区块的数量小于一第一邻界值时,该快闪存储器位于一第一状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第二邻界值时,该快闪存储器位于一第二状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第三邻界值并且小于该第二临界值时,该快闪存储器位于一第三状态或一第四状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第四邻界值并且小于该第三临界值时,该快闪存储器位于一第五状态;以及
当该快闪存储器中的该空闲区块的数量小于该第四临界值时,该快闪存储器位于一第六状态,其中该第二临界值大于该第三临界值,该第三临界值大于该第四临界值。
3.如权利要求2所述的数据储存装置,其特征在于,相较于该快闪存储器位于该第三状态,当该快闪存储器位于该第四状态时该控制器会执行更多该存储器回收流程。
4.如权利要求2所述的数据储存装置,其特征在于,该控制器还依据该数据储存装置的一操作模式在该快闪存储器执行该存储器回收流程。
5.如权利要求4所述的数据储存装置,其特征在于,该数据储存装置的操作模式包括一读取再生操作或是一平均抹除操作,并且该平均抹除操作的存储器回收流程的执行,比起该读取再生操作的存储器回收流程的执行具有较高的优先顺序。
6.如权利要求5所述的数据储存装置,其特征在于,当该操作模式为该读取再生操作时,该控制器指定要被再生的区块为要被合并的区块,并且当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时,执行该读取再生操作。
7.如权利要求5所述的数据储存装置,其特征在于,当该操作模式为该平均抹除操作时,该控制器指定低抹除次数的区块为存储器回收流程中要被合并的区块,并且当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时,执行该平均抹除操作。
8.如权利要求2所述的数据储存装置,其特征在于,该控制器耦接一主机,该控制器还依据该主机所传送的指令在该快闪存储器执行该存储器回收流程。
9.如权利要求8所述的数据储存装置,其特征在于,该主机所传送的该指令包括一更新指令或一清除指令。
10.如权利要求9所述的数据储存装置,其特征在于,当该快闪存储器位于该第一状态、该第二状态、该第三状态或该第四状态时,该快闪存储器流程依据该更新指令而执行,当该快闪存储器位于该第一状态或该第二状态时,该快闪存储器流程依据该清除指令而执行。
11.如权利要求2所述的数据储存装置,其特征在于,当该快闪存储器位于该第六状态时执行该存储器回收流程的频率,高于当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时执行该存储器回收流程的频率。
12.一种快闪存储器的操作方法,包括:
决定该快闪存储器中的空闲区块的数量以及该快闪存储器中多数页面为空闲的无效率区块的数量;以及
依据该快闪存储器中的空闲区块的数量以及无效率区块的数量,在该快闪存储器执行一存储器回收流程,其中该存储器回收流程用以合并至少两个无效率区块以从多个无效率区块中释放至少一个空闲区块。
13.如权利要求12所述的操作方法,其特征在于,还包括:
当该无效率区块的数量小于一第一邻界值时,决定该快闪存储器位于一第一状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第二邻界值时,决定该快闪存储器位于一第二状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第三邻界值并且小于该第二临界值时,决定该快闪存储器位于一第三状态或一第四状态;
当该快闪存储器中的该空闲区块的数量大于或等于一第四邻界值并且小于该第三临界值时,决定该快闪存储器位于一第五状态;以及
当该快闪存储器中的该空闲区块的数量小于该第四临界值时,决定该快闪存储器位于一第六状态,其中该第二临界值大于该第三临界值,该第三临界值大于该第四临界值。
14.如权利要求13所述的操作方法,其特征在于,相较于该快闪存储器位于该第三状态,当该快闪存储器位于该第四状态时会执行更多该存储器回收流程。
15.如权利要求13所述的操作方法,其特征在于,还包括依据该数据储存装置的一操作模式在该快闪存储器执行该存储器回收流程。
16.如权利要求15所述的操作方法,其特征在于,该数据储存装置的操作模式包括一读取再生操作或是一平均抹除操作,并且该平均抹除操作的存储器回收流程的执行,比起该读取再生操作的存储器回收流程的执行具有较高的优先顺序。
17.如权利要求16所述的操作方法,其特征在于,当该操作模式为该读取再生操作时,指定要被再生的区块为要被合并的区块,并且当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时,执行该读取再生操作。
18.如权利要求16所述的操作方法,其特征在于,当该操作模式为该平均抹除操作时,指定低抹除次数的区块为存储器回收流程中要被合并的区块,并且当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时,执行该平均抹除操作。
19.如权利要求13所述的操作方法,其特征在于,还包括依据该主机所传送的指令在该快闪存储器执行该存储器回收流程。
20.如权利要求19所述的操作方法,其特征在于,该指令包括一更新指令或一清除指令。
21.如权利要求20所述的操作方法,其特征在于,当该快闪存储器位于该第一状态、该第二状态、该第三状态或该第四状态时,该快闪存储器流程依据该更新指令而执行,当该快闪存储器位于该第一状态或该第二状态时,该快闪存储器流程依据该清除指令而执行。
22.如权利要求13所述的操作方法,其特征在于,还当该快闪存储器位于该第六状态时执行该存储器回收流程的频率,高于当该快闪存储器位于该第一状态、该第二状态、该第三状态、该第四状态或该第五状态时执行该存储器回收流程的频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/537,551 | 2014-11-10 | ||
US14/537,551 US9606733B2 (en) | 2014-11-10 | 2014-11-10 | Data storage device and operating method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589811A true CN105589811A (zh) | 2016-05-18 |
CN105589811B CN105589811B (zh) | 2019-02-01 |
Family
ID=55912250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510681507.2A Active CN105589811B (zh) | 2014-11-10 | 2015-10-20 | 数据储存装置与操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9606733B2 (zh) |
CN (1) | CN105589811B (zh) |
TW (2) | TWI597604B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107887A1 (zh) * | 2016-12-16 | 2018-06-21 | 深圳市九洲电器有限公司 | 机顶盒Flash数据存储方法、系统和电子设备 |
CN108664215A (zh) * | 2017-03-28 | 2018-10-16 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN109947355A (zh) * | 2017-12-20 | 2019-06-28 | 慧荣科技股份有限公司 | 用于动态执行存储器回收数据储存装置与操作方法 |
CN110058794A (zh) * | 2018-01-19 | 2019-07-26 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
CN110333770A (zh) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Families Citing this family (15)
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 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
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 |
US10885991B2 (en) | 2017-04-04 | 2021-01-05 | Sandisk Technologies Llc | Data rewrite during refresh window |
US10545692B2 (en) * | 2017-04-04 | 2020-01-28 | Sandisk Technologies Llc | Memory maintenance operations 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 |
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 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI726775B (zh) * | 2020-07-23 | 2021-05-01 | 華邦電子股份有限公司 | 一種記憶體裝置及其輸入輸出緩衝控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339808A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件系统中静态数据损耗均衡的方法 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
US20130275660A1 (en) * | 2012-04-12 | 2013-10-17 | Violin Memory Inc. | Managing trim operations in a flash memory system |
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及系统 |
Family Cites Families (4)
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 |
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 TW104130052A patent/TWI597604B/zh active
- 2015-09-11 TW TW106121037A patent/TWI648627B/zh active
- 2015-10-20 CN CN201510681507.2A patent/CN105589811B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339808A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件系统中静态数据损耗均衡的方法 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US20130275660A1 (en) * | 2012-04-12 | 2013-10-17 | Violin Memory Inc. | Managing trim operations in a flash memory system |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107887A1 (zh) * | 2016-12-16 | 2018-06-21 | 深圳市九洲电器有限公司 | 机顶盒Flash数据存储方法、系统和电子设备 |
CN108664215A (zh) * | 2017-03-28 | 2018-10-16 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN108664215B (zh) * | 2017-03-28 | 2021-04-06 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN109947355A (zh) * | 2017-12-20 | 2019-06-28 | 慧荣科技股份有限公司 | 用于动态执行存储器回收数据储存装置与操作方法 |
CN109947355B (zh) * | 2017-12-20 | 2022-05-24 | 慧荣科技股份有限公司 | 用于动态执行存储器回收数据储存装置与操作方法 |
CN110058794A (zh) * | 2018-01-19 | 2019-07-26 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
CN110058794B (zh) * | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
CN110333770A (zh) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
TW201737089A (zh) | 2017-10-16 |
US20160132253A1 (en) | 2016-05-12 |
CN105589811B (zh) | 2019-02-01 |
TWI597604B (zh) | 2017-09-01 |
TW201617883A (zh) | 2016-05-16 |
US9606733B2 (en) | 2017-03-28 |
TWI648627B (zh) | 2019-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589811A (zh) | 数据储存装置与操作方法 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
CN101169751B (zh) | 具有闪存设备的系统及其数据恢复方法 | |
US9639475B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN101154190B (zh) | 映射信息管理设备和方法 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
TWI584122B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN102722455B (zh) | 一种闪存设备中数据存储的方法及装置 | |
JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN101923448A (zh) | 一种nand闪存的转换层读写方法 | |
CN104298606A (zh) | 固态存储装置中垃圾搜集动作的控制方法 | |
US20160259723A1 (en) | Semiconductor device and operating method thereof | |
JP2010097333A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US10339045B2 (en) | Valid data management method and storage controller | |
JP4561246B2 (ja) | メモリ装置 | |
JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
US20120191938A1 (en) | Information processing apparatus and write control method | |
JP2008225576A (ja) | Nand型フラッシュメモリの制御装置 | |
US10871914B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
US20190026027A1 (en) | Data backup method, data recovery method and storage controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |