CN101739350B - 存储器储存装置及其控制方法 - Google Patents
存储器储存装置及其控制方法 Download PDFInfo
- Publication number
- CN101739350B CN101739350B CN 200810180408 CN200810180408A CN101739350B CN 101739350 B CN101739350 B CN 101739350B CN 200810180408 CN200810180408 CN 200810180408 CN 200810180408 A CN200810180408 A CN 200810180408A CN 101739350 B CN101739350 B CN 101739350B
- Authority
- CN
- China
- Prior art keywords
- inventory
- data
- physical blocks
- blocks
- pointer register
- 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.)
- Active
Links
Images
Abstract
一种存储器储存装置及其控制方法,其适用于一主机写入一更新数据至该存储器储存装置中,其中存储器储存装置提供一储存单元包括多个与一文件系统的逻辑区块相对应的实体区块的储存空间来存取该更新数据;一热门数据清单,记录有特定逻辑区块的地址,其中该特定逻辑区块存放热门数据;一来源指针寄存器,其内部存放的地址指向该多个逻辑区块其中之一;其中,该来源指针寄存器所指向的逻辑区块根据热门数据清单所指向的特定逻辑区块来进行调整。所述的控制方法的步骤为:首先,判断欲写入的更新数据是否为热门数据;最后,根据判断结果将非属热门数据的较少更新的数据搬至抹除次数较高的实体区块中。
Description
技术领域
本发明关于一种存储器储存装置的控制方法,特别涉及一种存储器的耗损均衡(Wear-leveling)的控制方法。
背景技术
由于采用NAND型快闪存储器作储存媒体的非挥发性存储器储存装置具有体积小、省电、安静及耐震等优点,因此目前以多种不同型态广泛的被应用在主机(即各种电子装置)上。例如应用在网络服务器、笔记本电脑、随身音乐播放装置、一般个人台式电脑、数字相机等。
请参阅图1,该图为公知的存储器储存装置的一具体实施例的系统结构示意图。如图1所示,存储器储存装置13包括一控制单元131以及一储存单元133,其中储存单元133是由快闪存储器(Flash memory)所构成,用来储存数据;而控制单元131耦接于主机11,接受主机11所下达的指令运作,并配合指令指定的作业,进行数据存取动作,将主机11输入的数据记录到储存单元133中,或将自储存单元133读取主机11所要求的数据后传回。
储存单元133中提供了包括多个实体区块(Physical Block)的实体储存空间来存取数据,每一实体区块会因原本储存数据搬移后的抹除动作而增加累计抹除次数(Accumulated Erase Count),当其耗损程度接近可用寿命(Useable LifeCycle)时,保存数据的可靠度(Reliability of Data Retention)将逐渐劣化(graduallydegraded),而不能可靠正确地记录数据,同时导致储存装置必须因为储存单元中部分实体区块的劣化而产生故障。因此,为了降低各实体区块间的累计抹除次数差异,必须通过耗损均衡技术(Wear-Leveling Technique),来平均使用各个实体区块,以避免过度集中使用部分实体区块,而使其过早达到使用寿命限制,进而导致在其他实体区块尚未充分使用前,发生储存装置无法可靠保存正确数据的现象。
目前提出的耗损均衡技术大致分为动态耗损均衡(Dynamic Wear-Leveling) 与静态耗损均衡(Static Wear-Leveling)两种。动态耗损均衡在实体区块内记录保存的数据改变更新时,从已抹除的实体区块中选出累计抹除次数最低者来储存更新后的数据。由于只有内容被更新改变的动态数据会被调整存放位置,因此被称为动态耗损均衡技术。
而静态耗损均衡则是在实体区块内记录保存的数据虽未改变更新,但当已配置数据的实体区块中,累计抹除次数最高及最低的差异到达一预先设定的门限值时,即开始进行静态耗损均衡作业。执行静态耗损均衡时,控制器会将累计抹除次数最低的实体区块中的数据搬至累计抹除次数最高的已抹除的实体区块中,并将最低累计抹除次数的实体区块抹除。借此,可改变静态数据使用的实体区块的位置,并释出先前长期被静态数据占用,使累计抹除次数较低的实体区块,得以供后续写入更新数据时使用,进而达到调整静态数据使用的实体区块位置,实现静态耗损均衡化的功效。
然而,上述的耗损均衡的实现需要消耗大量的时间及资源来搜寻累计次数较低的实体区块,而动态耗损均衡的实现则是只针对有更新数据的区块进行耗损均衡,故仍有抹除不平均的缺点,因此如何提升耗损均衡的效能一直是此技术领域所待突破的关键。
发明内容
有鉴于此,为有效提升存储器储存装置的使用寿命,本发明所提出的存储器储存装置的控制方法,通过追踪数据更新位置来选择存储器耗损均衡实现方式,以期提供更可靠且有效率的方法来改善实体储存空间中耗损不均的问题。因此,本发明的目的在于提供一种存储器储存装置及其控制方法,能在配置更新数据到存储器时,达到耗损均衡化的目的,进而提升存储器系统的寿命,并防止储存资源的浪费,同时简化存储器耗损均衡作业,进而提升存储器的数据储存效能。
本发明公开一种存储器储存装置及该装置的控制方法,其适用于提供一主机写入一数据至该存储器储存装置中,其中主机的文件系统提供一具有多个逻辑区块(Logical Block)的储存空间,而存储器储存装置提供多个实体区块(Physical Block)的储存空间来与文件系统的逻辑区块对应。该储存装置还具有一热门数据清单,该热门数据清单记录有多个特定逻辑区块地址(Logical Block Address,LBA);以及具有一来源指针寄存器,其内部存放的地址指向一逻辑区块,以作为静态耗损均衡时的数据来源区块。
所述控制方法的步骤为首先,提供一已抹除清单,用以记录已被抹除的实体区块的地址;提供一已分配清单,用以记录已配置数据的实体区块的地址;提供一热门数据清单,该热门数据清单记录有特定逻辑区块的地址;提供一来源指针寄存器,其内部存放的地址指向该多个逻辑区块中的一个;接着,执行一更新数据的写入动作,并将储存此更新数据的逻辑区块地址加入热门数据清单中;然后,从该已抹除清单中选出累计抹除次数最少的实体区块;将该更新数据连同原始数据写入该累计抹除次数最少的实体区块;更新该已抹除清单,将选出的该累计抹除次数最少的实体区块的地址从该已抹除清单中删除;更新该已分配清单,将选出的该累计抹除次数最少的实体区块记录于该已分配清单中;对比来源指针寄存器的逻辑区块地址是否落入热门清单中;若对比结果为否,则抹除该更新数据的原始数据所存放的实体区块;判断该被抹除的实体区块的累计抹除次数是否大于一门限值;以及若判断结果为是,则进行一静态耗损均衡处理,将该来源指针寄存器指向的逻辑区块所对应的实体区块内的数据写入该被抹除的实体区块中,调整该来源指针寄存器依序指向下一个逻辑区块,并比对目前该来源指针寄存器指向的该逻辑区块是否落入该热门数据清单,当比对到目前该来源指针寄存器指向的该逻辑区块未落入该热门数据清单时,则结束该静态损耗均衡处理。进而确保储存装置在进行静态耗损均衡时,未出现在热门数据清单中的逻辑区块地址所对应储存的内容能优先搬至抹除次数较高的实体区块中。
在本发明的一具体实施例中,其中若判断欲执行一抹除动作时,则判断被抹除的实体区块的抹除次数是否大于一门限值;若是,则进行一静态耗损均衡程序,将来源指针寄存器指向的逻辑区块所对应的实体区块内的数据搬移至抹除次数较高的实体区块中储存。
本发明又公开一种存储器储存装置,适用于提供一主机存取一数据,其中主机的文件系统提供一具有多个逻辑区块(Logical Block)的储存空间。所述的存储器储存装置包括有一已抹除清单,用以记录已被抹除的实体区块的地址;一已分配清单,用以记录已配置数据的实体区块的地址;一储存单元以及一控制单元。储存单元包括多个实体区块(Physical Block)的储存空间来存取数据, 该储存单元的多个实体区块与一文件系统的逻辑区块相对应;控制单元耦接于主机以及储存单元之间,其包括有一寄存单元以及一微处理器。微处理器耦接于寄存单元;寄存单元包括有一热门数据清单以及一来源指针寄存器。热门数据清单记录有多个特定存有热门数据的逻辑区块的地址;来源指针寄存器内部存放的地址指向文件系统所提供的多个逻辑区块其中之一;控制单元用以执行一更新数据写入动作,,从该已抹除清单中选出累计抹除次数最少的实体区块,将该更新数据连同原始数据写入该累计抹除次数最少的实体区块,再更新该已抹除清单,将选出的该累计抹除次数最少的实体区块的地址从该已抹除清单中删除,并更新该已分配清单,将选出的该累计抹除次数最少的实体区块记录于该已分配清单中,以及将存放该更新数据的逻辑区块的地址存入该热门数据清单中。其中,当该控制单元比对出该来源指针寄存器指向的逻辑区块属于该热门数据清单中的特定逻辑区块其中之一时,该控制单元抹除该更新数据的原始数据所存放的实体区块;其中,当该控制单元判断出被抹除的实体区块的累积抹除次数大于一门限值时,该控制单元进行一静态损耗均衡处理,将该来源指针寄存器指向的逻辑区块所对应的实体区块内的数据写入该被抹除的实体区块中;其中,该控制单元调整该来源指针寄存器依序指向下一个逻辑区块,并比对目前该来源指针寄存器指向的该逻辑区块是否落入该热门数据清单,当该控制单元比对到目前该来源指针寄存器指向的该逻辑区块未落入该热门数据清单时,该控制单元结束该静态损耗均衡处理。当主机发出数据更新指令将更新数据写入储存单元后,热门数据清单会记录此更新数据的逻辑区块地址,之后微处理器比对来源指针寄存器所寄存的逻辑区块是否与热门数据清单所存的特定逻辑区块地址相同,并根据比对结果来选择性地调整来源指针寄存器的内容或执行一静态耗损均衡程序,进而使非热门数据从原存放的实体区块搬至抹除次数较高的实体区块中。
在本发明的一具体实施例中,所述的来源指针寄存器由微处理器进行调整,使来源指针寄存器循序指向下一个的逻辑区块。
以上的概述与接下来的详细说明及附图,皆是为能进一步说明本发明为实现技术目的所采取的方式、手段及功效。而有关本发明的其他目的及优点,将在后续的说明及附图中加以阐述。
附图说明
图1为公知的存储器储存装置的一具体实施例的系统结构示意图;
图2为本发明所公开的存储器储存装置的一具体实施例的系统结构示意图;
图3A为本发明所公开的逻辑/实体区块映射的一具体实施例的储存结构示意图;
图3B为本发明所公开的管理储存空间的数据结构示意图;
图4A~图7B为本发明所公开的数据处理的一具体实施例的示意图;以及
图8~图9为本发明所公开的存储器储存装置的控制方法的一具体实施例的步骤流程图。
其中,附图标记:
11:主机
13:存储器储存装置
131:控制单元 133:储存单元
21:主机
23:存储器储存装置
231:控制单元 233:储存单元
2311:系统界面
2313:数据传输缓冲区
2315:存储器界面
2317:微处理器
2319:寄存单元
23191:已抹除清单
23193:已分配清单
23195:热门数据清单
23197:来源指针寄存器
31:逻辑储存空间
LBA0~LBAn:逻辑区块
33:L2P映射表
35:实体储存空间
PBA0~PBAn、Si、Sj:实体区块
门限值EC
平均抹除次数ECavg
门限偏移值ECth
S901~S933:各个步骤流程
S1001~S1017:各个步骤流程
具体实施方式
本发明的主要技术特征在于耗损均衡存储器储存装置的控制方法以及使用该方法的存储器储存装置结构,以下就仅提出必要的内部系统结构及其工作流程,然而,本领域技术人员可知,除了以下所提及的构件,存储器储存装置中当然包括其他的必要元件,因此,不应以本实施例所公开为限。
首先,请参阅图2,该图为本发明所公开的存储器储存装置的一具体实施例的系统结构示意图。如图2所示,存储器储存装置23耦接于主机21,接受主机21所下达的指令进行数据读取、写入或储存区块的抹除动作。
存储器储存装置23包括有一储存单元233以及一控制单元231。储存单元233是由快闪存储器(Flash memory)所构成,其用来储存主机21所要求存放的数据;而控制单元231耦接于主机21以及储存单元233之间,用以接收主机21所下达的一指令,所述的指令可为一写入指令或一读取指令,写入指令是将对应一逻辑地址的数据写入储存单元233中,而读取指令则是将对应一逻辑地址的数据从储存单元233中读取出来。
控制单元231包括有一系统界面2311、一数据传输缓冲区2313、一存储器界面2315、一微处理器2317、一寄存单元2319。系统界面2311耦接于主机21,作为主机21及存储器储存装置23间指令与数据的传输介面;数据传输缓冲区2313耦接于系统界面2311,以寄存数据;存储器界面2315耦接于数据传输缓冲区2313及储存单元233之间,受微处理器2317的控制以传输数据;而微处理器2317耦接于寄存单元2319,用以控制存储器储存装置23中各元件的工作情形。
在本发明的一具体实施例中,该储存单元233为单级单元存储器(SLC)、相变存储器(PCM)、铁电随机存取存储器(FeRAM)、磁性随机存取存储器 (MRAM)或多级单元存储器(MLC)的群组组合之一。
为了更了解逻辑/实体地址的对应关系,请参考图3A,该图为本发明所揭示之逻辑/实体区块映射之一具体实施例示意图。按,其中相关之系统架构请一并参考图2。如图3A所示,主机21的文件系统与储存单元233分别提供了一逻辑储存空间31以及一实体储存空间35来存取数据,其中逻辑储存空间31划分成多个逻辑区块(Logical Block)LBA0~LBAn,而实体储存空间35亦划分成多个实体区块(Physical Block)PBA0~PBAn,通过一L2P映射表(Logical to Physical Translation Table)33来记录逻辑区块LBA0~LBAn与实体区块PBA0~PBAn的对应关系。
请一并参考图3B,该图为本发明所公开的管理储存空间的数据结构示意图。如图3B所示,为了方便管理实体储存空间35的使用情形,寄存单元2319中特别储存一已抹除清单23191、一已分配清单23193、一热门数据清单23195以及一来源指针寄存器23197。已抹除清单23191用以记录已被抹除的实体区块PBAi的地址,一具体实施例中,已抹除清单23191根据各已抹除的实体区块PBAi的累计抹除次数由小到大(亦可由大到小)地将已抹除的实体区块PBAi的地址依序记录于表中,请参照图3B,实体区块PBA5的抹除次数最小,越往右边的实体区块PBAi的抹除次数愈大。除了以顺序来表示抹除次数多寡外,已抹除清单亦可额外增加一个栏位来记录每一个已抹除的实体区块PBAi的抹除次数,不应以本实施例为限。
在本发明的一具体实施例中,已抹除清单23191、已分配清单23193、热门数据清单23195以及来源指针寄存器23197亦可储存或设置于控制单元231外部的一随机存取存储器中,为避免其内容因存储器储存装置23的电源关闭时消失,控制单元231会将其复制到储存单元233中,并于启动存储器储存装置23时载入。
已分配清单23193用以记录已配置数据的实体区块PBAi的地址;热门数据清单23195记录有多个特定逻辑区块的地址,其中该特定逻辑区块为存放较常更新的数据(即热门数据)的逻辑区块LBAi。而来源指针寄存器23197内部存放的地址依序指向存放有数据的逻辑区块LBAi,假设第一个逻辑区块LBA0存放有数据,则来源指针寄存器23197即存放逻辑区块LBA0的地址。
接下来的图4A~图7B,为本发明所公开的数据处理的一具体实施例的示 意图,其中说明了当储存于逻辑区块LBA0的一更新数据写入时,所进行的耗损均衡处理方式。首先参照图3A,一原始数据存放于逻辑区块LBA0,通过L2P映射表33对应后,可知该原始数据实际是储存于实体区块PBA2中。随后若欲对该原始数据进行数据更新动作,控制单元231即从已抹除清单23191中挑出累计抹除次数最少的实体区块PBA5,用以储存更新数据以及目前存放在实体区块PBA2中的原始数据。接下来,如图4A、图4B所示,微处理器2317会根据上述动作将实体区块PBA5从已抹除清单23191中删除,转而将其增加于已分配清单23193中,并将发生过更新数据动作的逻辑区块LBA0地址记录于热门数据清单23195中。
在更新热门数据清单23195后,微处理器2317会检查来源指针寄存器23197所指的逻辑区块LBAi是否为热门数据清单23195中所指向的特定逻辑区块,如图5A、图5B所示,由于来源指针寄存器23197所指的逻辑区块LBA0存在于更新后的热门数据清单23195中,因此来源指针寄存器23197即循序指向下一个逻辑区块LBA1,然后与热门数据清单23195所指向的特定逻辑区块进行比对,此一程序会反复进行直到来源指针寄存器23197所指向的逻辑区块的地址未被记录于热门数据清单23195中,接着抹除存放原始数据的实体区块PBA2,进而依据累计抹除次数大小将实体区块PBA2安插在已抹除清单23191中适当的位置,以本实施例来说,由于实体区块PBA2的抹除次数介于实体区块PBA3以及实体区块PBAn之间,因此已抹除清单23191储存已抹除实体区块地址的顺序即如图5B所示。
存储器储存装置23中特别定义了一门限值,若任一被抹除的实体区块PBAi的累计抹除次数大于门限值,即表示储存单元233中有已抹除次数过高的实体区块PBAi,因而进行一耗损均衡程序来将不常更新的数据搬到抹除次数过高的实体区块PBAi,以避免该实体区块PBAi过度被抹除。一具体实施例中,门限值EC为全部实体区块PBAi的平均抹除次数ECavg与一预先设定的门限偏移值ECth的总和,系统仅需调整门限偏移值ECth的大小,即可轻易调整静态耗损均衡程序被执行的频率,其中在放大门限偏移值ECth的情况下,执行耗损均衡程序的频率降低,反之亦然。
因此,在抹除实体区块PBA2后,微处理器2317将该区块的累计抹除次数加1,并更新平均抹除次数ECavg,接着判断实体区块PBA2的抹除次数是 否大于更新后的门限值,若有,则表示已达到执行耗损均衡的条件,进而执行静态耗损均衡程序。
假设实体区块PBA2已达耗损均衡条件,且来源指针寄存器23197所指向的逻辑区块LBA1的地址并未出现于热门数据清单23195中,即可判定逻辑区块LBA1内的数据不常更新,应该将其搬至抹除次数过高的实体区块PBA2中,以避免实体区块PBA2承受更多的抹除消耗。是以,如图6A、图6B所示,微处理器2317将来源指针寄存器23197所指的逻辑区块LBA1所对应的实体区块PBA4内储存的数据复制至实体区块PBA2中,然后把实体区块PBA4抹除,并将实体区块PBA2从已抹除清单23191移除,转置于已分配清单23193中。
接着,如图7A、图7B所示,在上述耗损均衡程序后,更新L2P映射表33,以将逻辑区块LBA1对应至实体区块PBA2;同时,由于实体区块PBA4已被抹除以供其他数据写入,因此亦须更新该区块PBA4的累计抹除次数以及平均抹除次数ECavg。
之后,来源指针寄存器23197会依序指向下一个逻辑区块LBA2,并重复上述与热门数据清单23195的比对检查程序,直到来源指针寄存器23197所指的逻辑区块PBAi没有落入热门数据清单中,且未达到执行耗损均衡的条件,即完成一次完整的耗损均衡处理。
最后,请参考图8以及图9,图8及图9为本发明所公开的存储器储存装置控制方法的一具体实施例的步骤流程图。其中相关的系统结构以及数据处理方式请同时参考图2~图7B。如图8所示,此控制方法包括下列步骤:
首先,启动存储器储存装置23(步骤S901),并将已抹除清单23191、已分配清单23193、热门数据清单23195以及来源指针寄存器23197的内容载入到寄存单元2319中(步骤S903);启动初始化作业完成后,存储器储存装置23即进入待机状态(步骤S905),等待主机21下达指令;当存储器储存装置通过系统界面2311接收到主机21下达的指令时(步骤S907),控制单元231判断该指令是否为一更新数据的写入指令(步骤S909),即欲将更新数据从主机21端写入储存单元233中;若非更新数据写入指令,则执行该指令的相关作业(步骤S911),否则,便开始执行动态耗损均衡程序,即从已抹除清单23191中选出累计抹除次数最少的实体区块(步骤S913),然后将更新数据写入选出的实体区块(步骤S915),之后微处理器2317会根据上述动作来更新已抹除清单 23191、已分配清单23193以及热门数据清单23195(步骤S917),即将更新数据的逻辑区块地址记录于热门数据清单23195中,使其成为其一的特定逻辑区块(步骤S913~S917请参考图3A、图4A、图4B);
随后,微处理器2317会判断来源指针寄存器23197所指的逻辑区块是否为热门数据清单23195中所指向的特定逻辑区块(步骤S919);若是,则调整来源指针寄存器23197循序指向下一个逻辑区块(步骤S921)后,再与热门数据清单23195进行比对;反之,若来源指针寄存器23197所指的逻辑区块未落入热门数据清单23195中,即表示目前来源指针寄存器23197所指的逻辑区块中存放的数据应该不常更新,适合将其放置于抹除次数较高的实体区块中,同时检查储存单元233中是否有无效数据占用的实体区块(步骤S923),若否,则回到待机状态来等待下一道指令(步骤S905),若存在无效数据,则执行抹除作业(步骤S925),将无效数据占用的实体区块予以抹除(步骤S919~S925请参考图5A、图5B);
完成抹除无效数据占用的实体区块作业后,即累进该实体区块的累计抹除次数,以及全部实体区块的的平均抹除次数ECavg(步骤S927);之后判断被抹除的实体区块的抹除次数是否大于预定门限值(步骤S929),若否,则根据上述抹除区块动作更新已抹除清单23191(步骤S931)后,回到待机状态(步骤S905);否则,若步骤S929的判断为是,则表示已达到启动耗损均衡作业的需求,进而进行耗损均衡程序(步骤S933);
启动耗损均衡作业时,微处理器2317将来源指针寄存器23197所指的逻辑区块所对应的实体区块(以下以Si表示此实体区块)内的数据复制到实体区块Sj中(步骤S1001),并依据改变后的区块对应关系来更新L2P映射表33(步骤S1003);随后将实体区块Sj地址加入已分配清单23193中(步骤S1005)(步骤S927~S1005请参考图6A、图6B);
由于实体区块Si中的数据已搬至实体区块Sj储存,因此随即抹除实体区块Si(步骤S1007),使其能提供其他新数据写入;抹除作业后,累计实体区块Si的抹除次数以及计算全部实体区块的平均抹除次数(步骤S1009),并将实体区块Si地址加入已抹除清单23191中(步骤S1011);
完成上述作业后,微处理器2317调整来源指针寄存器23197指向下一个逻辑区块(步骤S1013),并比对目前来源指针寄存器23197指向的逻辑区块是 否落入热门数据清单23195中(步骤S1015);若有,则须依序移动来源指针寄存器23197,并重复执行步骤S1015的比对程序;若来源指针寄存器23197指向的逻辑区块并未落入热门数据清单23195中指向特定逻辑区块,则结束耗损均衡程序(步骤S1017),进而回到待机状态(步骤S1007~S1017请参考图7A、图7B)。
如此一来,控制单元231将已分配清单23193中累计抹除次数最少的实体区块内,所记录保存的使用者数据,经过复制转移到已抹除清单23191中累计抹除次数最多的实体区块。借此,可改变并释出长期未更新的数据使用的实体区块,使抹除次数较低的实体区块从已分配清单23193中转移到已抹除清单23191中,以供后续写入更新数据时使用,进而有效达到耗损均衡化的功效。
通过以上实例详述,当可知晓本发明的存储器储存装置及其控制方法,通过热门数据清单与来源指针寄存器的管理,来正确地辨识长期未更新的静态数据,并将这种长期未更新静态数据搬移至抹除次数较高的实体区块中,以释放静态数据所占用的实体区块,及防止累计抹除次数高的实体区块继续磨耗,因此本发明能更确实的执行耗损均衡程序,更有效发挥快闪存储器储存装置应有的寿命。本发明具备以下优点:
1.通过进行动态耗损均衡作业时,控制是否触发执行耗损均衡程序,如此无须由控制单元另外利用闲置时间执行静态耗损均衡作业,进而避免消耗大量系统资源的缺失。
2.执行动态抹除作业时,会从已抹除清单中优先选择累计抹除次数低的实体区块记录更新数据,加快累计抹除次数平均化的速度;且利用判断更新数据的逻辑区块是否落入热门数据清单,来决定该更新数据是否因属非热门数据而应搬至抹除次数达到门限值的实体区块,除了能避免热门数据在静态耗损均衡作业中,被复制到累计抹除次数高的实体区块,还能大幅简化从已抹除清单中,搜寻累计抹除次数较高的实体区块作为储存非热门数据的作业程序,进而缩短作业时间,降低控制器负荷与存储器需求。
3.在执行数据写入与动态耗损均衡作业,因无效数据占用实体区块而发生抹除作业时,同时检查被抹除的实体区块的累计抹除次数,是否达到启动耗损均衡作业的启动值。如此能简化启动耗损均衡作业的判断程序,免除统计分析或搜寻比对实体区块累计抹除次数所需作业程序、作业时间与其对控制单元产 生的负荷及存储器需求。
4.直接以来源指针寄存器循序自逻辑区块地址分布的起始地址开始累进至最大存储空间的结束位置为止的循环方式,避开热门数据占用的逻辑区块,选择执行耗损均衡作业时抹累计除次数较低的实体区块。如此大幅简化从已分配清单中,搜寻累计抹除次数较低的实体区块,并把该实体区块中的数据搬移的作业程序,除了缩短作业时间,降低控制器负荷与存储器需求,亦能有效的调整所有逻辑区块使用者数据的保存记录位置。
5.通过调整门限偏移值ECth大小,即可轻易达到调整耗损均衡作业执行频率、目标平均化程度的效果。即放大门限偏移值ECth时,则耗损均衡作业执行频率低,累计抹除次数较不平均;缩小门限偏移值ECth时,则静态耗损均衡作业执行频率高,累计抹除次数较平均。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种存储器储存装置的控制方法,其特征在于该存储器储存装置提供多个与文件系统的多个逻辑区块相对应的实体区块的储存空间,该控制方法包括下列步骤:
提供一已抹除清单,用以记录已被抹除的实体区块的地址;
提供一已分配清单,用以记录已配置数据的实体区块的地址;
提供一热门数据清单,该热门数据清单记录有特定逻辑区块的地址;
提供一来源指针寄存器,其内部存放的地址指向该多个逻辑区块中的一个;
执行一更新数据写入动作,并将存放该更新数据的逻辑区块的地址存入该热门数据清单中;
从该已抹除清单中选出累计抹除次数最少的实体区块;
将该更新数据连同原始数据写入该累计抹除次数最少的实体区块;
更新该已抹除清单,将选出的该累计抹除次数最少的实体区块的地址从该已抹除清单中删除;
更新该已分配清单,将选出的该累计抹除次数最少的实体区块记录于该已分配清单中;
比对该来源指针寄存器指向的逻辑区块是否属于该热门数据清单中的所述特定逻辑区块其中之一;
若对比结果为否,则抹除该更新数据的原始数据所存放的实体区块;
判断该被抹除的实体区块的累计抹除次数是否大于一门限值;以及
若判断结果为是,则进行一静态耗损均衡处理,将该来源指针寄存器指向的逻辑区块所对应的实体区块内的数据写入该被抹除的实体区块中,调整该来源指针寄存器依序指向下一个逻辑区块,并比对目前该来源指针寄存器指向的该逻辑区块是否落入该热门数据清单,当比对到目前该来源指针寄存器指向的该逻辑区块未落入该热门数据清单时,则结束该静态损耗均衡处理。
2.根据权利要求1所述的控制方法,其特征在于在比对该来源指针寄存器指向的逻辑区块是否属于该热门数据清单中的所述特定逻辑区块其中之一的步骤后,包括以下步骤:
若比对结果为是,则调整该来源指针寄存器指向另一个逻辑区块,并重复比对该来源指针寄存器指向的逻辑区块是否属于该热门数据清单中的所述特定逻辑区块其中之一的步骤。
3.根据权利要求2所述的控制方法,其特征在于在进行该静态损耗均衡处理的步骤中,更包括以下步骤:
在该来源指针寄存器指向的逻辑区块所对应的实体区块内的数据储存至该被抹除的实体区块后,更新该逻辑区块与该实体区块的对应关系,更新该已分配清单,抹除该来源指针寄存器所指的该实体区块,累计该实体区块的抹除次数以及全部实体区块的平均抹除次数,并更新该已抹除清单。
4.根据权利要求2所述的控制方法,其特征在于该门限值为全部的所述实体区块的平均抹除次数与一预先设定的门限偏移值的总和。
5.根据权利要求1所述的控制方法,其特征在于该已抹除清单中的地址数据顺序是依所指向的实体区块的累计抹除次数由大到小或由小到大排列。
6.一种存储器储存装置,其特征在于该存储器储存装置包括:
一储存单元,包括多个实体区块的储存空间,该储存单元的多个实体区块与一文件系统的多个逻辑区块相对应;
一寄存单元,储存一已抹除清单、一已分配清单以及一热门数据清单,该已抹除清单用以记录已被抹除的实体区块的地址,该已分配清单用以记录已配置数据的实体区块的地址,该热门数据清单记录有特定逻辑区块的地址,其中该特定逻辑区块存放热门数据;
一来源指针寄存器,其内部存放的地址指向该多个逻辑区块其中之一;以及
一控制单元,用以执行一更新数据写入动作,从该已抹除清单中选出累计抹除次数最少的实体区块,将该更新数据连同原始数据写入该累计抹除次数最少的实体区块,再更新该已抹除清单,将选出的该累计抹除次数最少的实体区块的地址从该已抹除清单中删除,并更新该已分配清单,将选出的该累计抹除次数最少的实体区块记录于该已分配清单中,以及将存放该更新数据的逻辑区块的地址存入该热门数据清单中;
其中,当该控制单元比对出该来源指针寄存器指向的逻辑区块属于该热门数据清单中的特定逻辑区块其中之一时,该控制单元抹除该更新数据的原始数据所存放的实体区块;
其中,当该控制单元判断出被抹除的实体区块的累积抹除次数大于一门限值时,该控制单元进行一静态损耗均衡处理,将该来源指针寄存器指向的逻辑区块所对应的实体区块内的数据写入该被抹除的实体区块中;
其中,该控制单元调整该来源指针寄存器依序指向下一个逻辑区块,并比对目前该来源指针寄存器指向的该逻辑区块是否落入该热门数据清单,当该控制单元比对到目前该来源指针寄存器指向的该逻辑区块未落入该热门数据清单时,该控制单元结束该静态损耗均衡处理。
7.根据权利要求6所述的存储器储存装置,其特征在于该控制单元还包括:
一系统界面,耦接于一主机,作为该主机及该存储器储存装置间指令与数据的传输界面;
一数据传输缓冲区,耦接于该系统界面,以寄存该主机及该存储器储存装置间传输的数据;
一微处理器,执行该主机对该装置所发出的指令;以及
一存储器界面,耦接于该数据传输缓冲区及该储存单元之间,受该微处理器的控制以传输数据到该储存单元。
8.根据权利要求7所述的存储器储存装置,其特征在于该来源指针寄存器由该微处理器调整指向的逻辑区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810180408 CN101739350B (zh) | 2008-11-26 | 2008-11-26 | 存储器储存装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810180408 CN101739350B (zh) | 2008-11-26 | 2008-11-26 | 存储器储存装置及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739350A CN101739350A (zh) | 2010-06-16 |
CN101739350B true CN101739350B (zh) | 2013-02-13 |
Family
ID=42462861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810180408 Active CN101739350B (zh) | 2008-11-26 | 2008-11-26 | 存储器储存装置及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739350B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI571881B (zh) * | 2015-10-23 | 2017-02-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170075835A (ko) * | 2015-12-23 | 2017-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10198195B1 (en) * | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Wear leveling |
CN111459850B (zh) * | 2020-05-18 | 2023-08-15 | 北京时代全芯存储技术股份有限公司 | 记忆体装置以及运作方法 |
TWI808011B (zh) * | 2022-09-26 | 2023-07-01 | 慧榮科技股份有限公司 | 資料處理方法及對應之資料儲存裝置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
CN1351350A (zh) * | 2000-10-27 | 2002-05-29 | 岳京星 | 闪存中存储块的分区及读写信息标识的方法 |
-
2008
- 2008-11-26 CN CN 200810180408 patent/CN101739350B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
CN1351350A (zh) * | 2000-10-27 | 2002-05-29 | 岳京星 | 闪存中存储块的分区及读写信息标识的方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2005-78634A 2005.03.24 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI571881B (zh) * | 2015-10-23 | 2017-02-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN101739350A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5413572B2 (ja) | メモリストレージ装置及びその制御方法 | |
CN107368429B (zh) | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 | |
KR101477047B1 (ko) | 메모리 시스템 및 그것의 블록 병합 방법 | |
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
US8046526B2 (en) | Wear leveling method and controller using the same | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US8417872B2 (en) | Write and merge methods in memory card systems for reducing the number of page copies | |
US8296504B2 (en) | Data management method and flash memory storage system and controller using the same | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US8090900B2 (en) | Storage device and data management method | |
US8667209B2 (en) | Non-volatile memory access method and system, and non-volatile memory controller | |
US9965194B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus which performs data arrangement operation according to usage frequency of physical erasing unit of memory storage apparatus | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
US10283196B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN101739350B (zh) | 存储器储存装置及其控制方法 | |
JP2011070365A (ja) | メモリシステム | |
TW201110126A (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 | |
CN101740100A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |