CN102262594A - 以动态门槛进行区块管理的方法及存储装置及控制器 - Google Patents
以动态门槛进行区块管理的方法及存储装置及控制器 Download PDFInfo
- Publication number
- CN102262594A CN102262594A CN2011101261823A CN201110126182A CN102262594A CN 102262594 A CN102262594 A CN 102262594A CN 2011101261823 A CN2011101261823 A CN 2011101261823A CN 201110126182 A CN201110126182 A CN 201110126182A CN 102262594 A CN102262594 A CN 102262594A
- Authority
- CN
- China
- Prior art keywords
- controller
- dynamic threshold
- blocks
- block
- condition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000015654 memory Effects 0.000 claims abstract description 108
- 230000005055 memory storage Effects 0.000 claims description 37
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract 1
- WYMDDFRYORANCC-UHFFFAOYSA-N 2-[[3-[bis(carboxymethyl)amino]-2-hydroxypropyl]-(carboxymethyl)amino]acetic acid Chemical compound OC(=O)CN(CC(O)=O)CC(O)CN(CC(O)=O)CC(O)=O WYMDDFRYORANCC-UHFFFAOYSA-N 0.000 description 30
- 230000009183 running Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
Images
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)
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种用来进行区块管理的方法,该方法应用于一快闪存储器的控制器,该快闪存储器包含多个区块,该方法包含:依据至少一条件调整一动态门槛;以及比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。本发明另提供相关的存储装置及其控制器,其中该存储装置包含该快闪存储器及该控制器。该控制器包含:一只读存储器,用来储存一程序码;以及一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块;在该微处理器的控制下,该控制器依据该方法来运作。本发明通过调整该动态门槛,可妥善地进行区块管理,增进该存储装置的效能。
Description
技术领域
本发明涉及快闪存储器(Flash Memory)的存取(Access),更具体地说,涉及一种用来进行区块管理的方法以及相关的存储装置及其控制器。
背景技术
近年来由于快闪存储器的技术不断地发展,各种便携式存储装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)或具备快闪存储器的固态硬盘(Solid State Drive,SSD)被广泛地实施于诸多应用中。因此,这些存储装置中的快闪存储器的存取控制遂成为相当热门的议题。
以常用的NAND型快闪存储器而言,其主要可区分为单阶细胞(SingleLevel Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的快闪存储器。单阶细胞快闪存储器中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞快闪存储器中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录两组(或以上)二进制位信息(00、01、11、10);理论上,多阶细胞快闪存储器的记录密度可以达到单阶细胞快闪存储器的记录密度的两倍,这对于曾经在发展过程中遇到瓶颈的NAND型快闪存储器的相关产业而言,是非常好的消息。
相较于单阶细胞快闪存储器,由于多阶细胞快闪存储器的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞快闪存储器很快地成为市面上的便携式存储装置竞相采用的主流。然而,多阶细胞快闪存储器的不稳定性所导致的问题也一一浮现。为了确保存储装置对快闪存储器的存取控制能符合相关规范,快闪存储器的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据相关技术,有了这些管理机制的存储装置还是有不足之处。例如:在该存储装置被设计成具有较高储存容量及/或较高弹性的状况下,所述管理机制可能变得非常复杂,这可能会导致硬件资源的芯片面积以及相关成本增加。因此,需要一种新颖的方法来进行区块管理,以增进具备快闪存储器的存储装置的存取效能。
发明内容
因此本发明所要解决的技术问题是提供一种用来进行区块管理的方法以及相关的存储装置及其控制器,以解决上述问题。
本发明所要解决的另一技术问题是提供一种用来进行区块管理的方法以及相关的存储装置及其控制器,以增进该存储装置的存取效能并且控制该存储装置以适应性的方式来运作。
本发明的较佳实施例中提供一种用来进行区块管理的方法,该方法应用于一快闪存储器(Flash Memory)的控制器,该快闪存储器包含多个区块,该方法包含有:依据至少一条件调整一动态门槛;以及比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
本发明于提供上述方法的同时,也对应地提供一种存储装置,其包含有:一快闪存储器,该快闪存储器包含多个区块;以及一控制器,用来存取(Access)该快闪存储器以及管理该多个区块。另外,该控制器依据至少一条件调整一动态门槛。此外,该控制器比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
本发明于提供上述方法的同时,也对应地提供一种存储装置的控制器,该控制器用来存取一快闪存储器,该快闪存储器包含多个区块,该控制器包含有:一只读存储器(Read Only Memory,ROM),用来储存一程序码;以及一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块。另外,在该微处理器的控制下,该控制器依据至少一条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
本发明的好处之一是,通过调整该动态门槛,本发明可妥善地进行区块管理,增进该存储装置的效能。于是,通过调整该动态门槛,该存储装置能以适应性的方式来运作。
附图说明
图1为依据本发明一第一实施例的一种存储装置的示意图。
图2为依据本发明一实施例的一种用来进行区块管理的方法的流程图。
图3A至图3C为图2所示的方法于某些实施例中的实施细节。
其中,附图标记说明如下:
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,图1为依据本发明一第一实施例的一种存储装置100的示意图,其中本实施例的存储装置100尤其可为便携式存储装置,例如:符合SD/MMC、CF、MS、XD标准的记忆卡,或通用串行总线闪存盘(UniversalSerial 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所示的实施例中所公开的各个函数的任何一个,本发明可妥善地进行区块管理,增进该存储装置的效能。于是,通过调整该动态门槛,该存储装置能以适应性的方式来运作。例如:当该存储装置刚被使用且具有许多空白区块时,该动态门槛可被决定为一高值;因此,一擦除运作的发生机率得以减少,且该存储装置的耐用度可被增强。又例如:当该存储装置被使用许久且仅具有少许空白区块时,该动态门槛可被决定为一低值;因此,一擦除运作的发生机率得以增加,且该存储装置可提供更多的空白区块以供用来储存传送自该主机的数据。另外,依据以上各个实施例/变化例来实施并不会增加许多额外的成本,甚至比相关技术更能节省成本。因此,基于以上公开的内容,相关技术的问题已被解决,且整体成本不会增加太多。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (20)
1.一种用来进行区块管理的方法,该方法应用于一快闪存储器的控制器,该快闪存储器包含多个区块,其特征是,该方法包含有:
依据至少一条件调整一动态门槛;以及
比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
2.如权利要求1所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含:
依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
3.如权利要求2所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含:
依据所述空白/已使用的区块的数量对该多个区块的数量的比率来调整该动态门槛。
4.如权利要求1所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含:
依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
5.如权利要求4所述的方法,其特征是,该检测值代表该多个区块当中空白/已使用的区块的数量,或代表所述空白/已使用的区块的数量对该多个区块的数量的比率。
6.如权利要求4所述的方法,其特征是,该检测值代表该控制器的一忙碌/闲置等级。
7.如权利要求4所述的方法,其特征是,该至少一条件包含该检测值是否达到一预定门槛的一第一条件;以及依据该至少一条件调整该动态门槛的步骤另包含:
于该检测值达到该预定门槛时,增加该动态门槛。
8.如权利要求7所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含:
于该检测值未达到该预定门槛时,减少该动态门槛。
9.如权利要求7所述的方法,其特征是,该至少一条件包含该检测值是否低于另一预定门槛的一第二条件;以及依据该至少一条件调整该动态门槛的步骤另包含:
于该检测值低于该另一预定门槛时,减少该动态门槛。
10.如权利要求7所述的方法,其特征是,该检测值代表该多个区块当中空白区块的数量。
11.如权利要求1所述的方法,其特征是,该至少一条件包含一事件是否发生的一条件;以及依据该至少一条件调整该动态门槛的步骤另包含:
当被该事件触发时,调整该动态门槛。
12.一种存储装置,其特征是,包含有:
一快闪存储器,该快闪存储器包含多个区块;以及
一控制器,用来存取该快闪存储器以及管理该多个区块,其中该控制器依据至少一条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
13.如权利要求12所述的存储装置,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
14.如权利要求13所述的存储装置,其特征是,该控制器依据所述空白/已使用的区块的数量对该多个区块的数量的比率来调整该动态门槛。
15.如权利要求12所述的存储装置,其特征是,该控制器依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
16.如权利要求12所述的存储装置,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量来调整该动态门槛。
17.如权利要求12所述的存储装置,其特征是,该至少一条件包含一事件是否发生的一条件;以及当该控制器被该事件触发时,该控制器调整该动态门槛。
18.一种存储装置的控制器,该控制器用来存取一快闪存储器,该快闪存储器包含多个区块,其特征是,该控制器包含有:
一只读存储器,用来储存一程序码;以及
一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块,其中在该微处理器的控制下,该控制器依据至少一
条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
19.如权利要求18所述的控制器,其特征是,该控制器依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
20.如权利要求18所述的控制器,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34750010P | 2010-05-24 | 2010-05-24 | |
US61/347,500 | 2010-05-24 | ||
US13/014,735 | 2011-01-27 | ||
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 (1)
Publication Number | Publication Date |
---|---|
CN102262594A true CN102262594A (zh) | 2011-11-30 |
Family
ID=44973424
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101261823A Pending CN102262594A (zh) | 2010-05-24 | 2011-05-13 | 以动态门槛进行区块管理的方法及存储装置及控制器 |
CN201110135242.8A Active CN102332290B (zh) | 2010-05-24 | 2011-05-24 | 用来管理和存取闪存模块的控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110135242.8A Active CN102332290B (zh) | 2010-05-24 | 2011-05-24 | 用来管理和存取闪存模块的控制器 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9104546B2 (zh) |
CN (2) | CN102262594A (zh) |
TW (2) | TWI437439B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727395A (zh) * | 2018-07-17 | 2020-01-24 | 慧荣科技股份有限公司 | 闪存控制器、方法及存储装置 |
CN113032008A (zh) * | 2019-12-09 | 2021-06-25 | 新唐科技股份有限公司 | 电子处理装置及存储器控制方法 |
Families Citing this family (41)
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 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9740485B2 (en) | 2012-10-26 | 2017-08-22 | 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 |
US9645920B2 (en) * | 2013-06-25 | 2017-05-09 | Marvell World Trade Ltd. | Adaptive cache memory controller |
US9563565B2 (en) | 2013-08-14 | 2017-02-07 | Micron Technology, Inc. | Apparatuses and methods for providing data from a buffer |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
US9632880B2 (en) | 2013-12-26 | 2017-04-25 | 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 | 联想(北京)有限公司 | 一种信息处理方法及固态硬盘 |
US10593421B2 (en) * | 2015-12-01 | 2020-03-17 | Cnex Labs, Inc. | 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 |
CN109343887A (zh) * | 2018-09-20 | 2019-02-15 | 深圳市零点智联科技有限公司 | 一种优化stm32芯片dfu升级的方法 |
CN110968441B (zh) * | 2018-09-28 | 2023-06-06 | 慧荣科技股份有限公司 | 存储卡存取装置及方法 |
US11500578B2 (en) * | 2021-04-19 | 2022-11-15 | Micron Technology, Inc. | Memory access threshold based memory management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287118B2 (en) * | 2002-10-28 | 2007-10-23 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
CN101256534A (zh) * | 2007-03-01 | 2008-09-03 | 创惟科技股份有限公司 | 闪存的高效率静态平均抹除方法 |
CN101339808A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
CN101645309A (zh) * | 2008-08-05 | 2010-02-10 | 威刚科技(苏州)有限公司 | 非挥发性存储装置及其控制方法 |
Family Cites Families (32)
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 |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
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 |
KR100526178B1 (ko) * | 2003-03-31 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리 액세스 장치 및 방법 |
JPWO2005103903A1 (ja) * | 2004-04-20 | 2007-08-30 | 松下電器産業株式会社 | 不揮発性記憶システム |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
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 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
WO2008057557A2 (en) * | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
KR100824412B1 (ko) * | 2006-12-08 | 2008-04-22 | 삼성전자주식회사 | 메모리 카드 시스템 및 그것의 수명 정보 전송 방법 |
KR100881669B1 (ko) * | 2006-12-18 | 2009-02-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 |
CN201142229Y (zh) * | 2007-12-05 | 2008-10-29 | 苏州壹世通科技有限公司 | 一种闪存阵列装置 |
US8751755B2 (en) * | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
CN101632068B (zh) * | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
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 |
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 |
US8219781B2 (en) * | 2008-11-06 | 2012-07-10 | 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 US US13/113,376 patent/US9529709B2/en active Active
- 2011-05-23 TW TW100118037A patent/TWI436208B/zh 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
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287118B2 (en) * | 2002-10-28 | 2007-10-23 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
CN101256534A (zh) * | 2007-03-01 | 2008-09-03 | 创惟科技股份有限公司 | 闪存的高效率静态平均抹除方法 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
CN101339808A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 存储块的擦除方法及装置 |
CN101645309A (zh) * | 2008-08-05 | 2010-02-10 | 威刚科技(苏州)有限公司 | 非挥发性存储装置及其控制方法 |
Non-Patent Citations (1)
Title |
---|
韩春晓 等: "UBIFS损耗均衡对***I/O性能的影响", 《计算机工程》, vol. 35, no. 6, 31 March 2009 (2009-03-31) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727395A (zh) * | 2018-07-17 | 2020-01-24 | 慧荣科技股份有限公司 | 闪存控制器、方法及存储装置 |
US11630580B2 (en) | 2018-07-17 | 2023-04-18 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
CN110727395B (zh) * | 2018-07-17 | 2023-08-08 | 慧荣科技股份有限公司 | 闪存控制器、方法及存储装置 |
CN113032008A (zh) * | 2019-12-09 | 2021-06-25 | 新唐科技股份有限公司 | 电子处理装置及存储器控制方法 |
CN113032008B (zh) * | 2019-12-09 | 2023-12-15 | 新唐科技股份有限公司 | 电子处理装置及存储器控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US9104546B2 (en) | 2015-08-11 |
US20110289260A1 (en) | 2011-11-24 |
TW201142589A (en) | 2011-12-01 |
US9529709B2 (en) | 2016-12-27 |
TWI437439B (zh) | 2014-05-11 |
TW201142602A (en) | 2011-12-01 |
TWI436208B (zh) | 2014-05-01 |
US20130304975A1 (en) | 2013-11-14 |
US20110289255A1 (en) | 2011-11-24 |
CN102332290A (zh) | 2012-01-25 |
US9606911B2 (en) | 2017-03-28 |
CN102332290B (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262594A (zh) | 以动态门槛进行区块管理的方法及存储装置及控制器 | |
US11126369B1 (en) | Data storage with improved suspend resume performance | |
CN101676886B (zh) | 闪存装置及其运作方法 | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
US20140298088A1 (en) | Data conditioning to improve flash memory reliability | |
US8984207B2 (en) | Memory system performing incremental merge operation and data write method | |
CN104461397A (zh) | 一种固态硬盘及其读写方法 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
CN103562883A (zh) | 存储器装置中的动态存储器高速缓存大小调整 | |
US11348636B2 (en) | On-demand high performance mode for memory write commands | |
US20200073591A1 (en) | Flash memory controller and associated accessing method and electronic device | |
US20200285393A1 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
US11520699B2 (en) | Using a common pool of blocks for user data and a system data structure | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
CN111158579A (zh) | 固态硬盘及其数据存取的方法 | |
US11403018B2 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
TW202026883A (zh) | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN114391139A (zh) | 存储器组件中的使用经调整参数的垃圾收集 | |
CN113495850B (zh) | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 | |
US9507706B2 (en) | Memory system controller including a multi-resolution internal cache | |
US20240127898A1 (en) | Memory device and method of operating the memory device | |
US11789861B2 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
CN102043728A (zh) | 用来提高闪存存取效能的方法以及相关的记忆装置 | |
CN101458664B (zh) | 数据快取架构使用的快取方法与快取装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111130 |