CN108733577A - 存储器管理方法、存储器控制电路单元及存储器存储装置 - Google Patents
存储器管理方法、存储器控制电路单元及存储器存储装置 Download PDFInfo
- Publication number
- CN108733577A CN108733577A CN201710263765.8A CN201710263765A CN108733577A CN 108733577 A CN108733577 A CN 108733577A CN 201710263765 A CN201710263765 A CN 201710263765A CN 108733577 A CN108733577 A CN 108733577A
- Authority
- CN
- China
- Prior art keywords
- erased cell
- entity
- sequence
- entity erased
- instance
- 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种用于具有多个实体抹除单元的可复写式非易失性存储器模块的存储器管理方法,其包括:提供对应至少部分的实体抹除单元的序列;依据对应第一实体抹除单元的更新时间将第一实体抹除单元排列到序列的第一端以调整序列;依据搜寻顺序搜寻此些至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中搜寻顺序是指示从序列的第二端至序列的第一端的顺序;以及搬移存储在至少一第二实体抹除单元中的有效数据。基此,可提升垃圾收集操作的效率。
Description
技术领域
本发明涉及一种存储器管理方法,尤其涉及一种用于可复写式非易失性存储器模块的存储器管理方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以快闪存储器作为存储媒体的固态硬盘(Solid-state drive)已广泛应用作为电脑主机的硬盘,以提升电脑的存取效能。
一般来说,存储器存储装置会通过执行垃圾收集(garbage collection)操作来释放出可用的实体抹除单元,以供新的数据写入。例如,传统的垃圾收集操作是选择实体抹除单元中其有效数据最少的一个实体抹除单元,并复制或搬移此些有效数据至另一个实体抹除单元以释放出可用的实体抹除单元。
然而,传统的垃圾收集操作并不会考虑到某一个实体抹除单元所存储的数据是否近期内曾被更新。若一个实体抹除单元所存储的数据近期内曾被更新,可能表示此实体抹除单元所存储的有效数据在近期内可能会因再次被更新而成为无效数据。倘若对此实体抹除单元执行垃圾收集操作,将会造成有效数据被搬移后立即被无效化的情况。
虽然,某些存储器存储装置可依据实体抹除单元的程序化顺序或其有效数据的新旧程度来排序实体抹除单元,再优先选取存储了长久未更动的数据的实体抹除单元来执行垃圾收集操作以避免上述情况。然而,其也未考虑到某一个实体抹除单元所存储的数据是否因近期内曾被更新而无效化的情况。倘若某个实体抹除单元所存储的数据近期内被无效化,但却因其所存储的其他有效数据属于长久未更动的数据而使得此些有效数据因垃圾回收操作而被搬移,以致于近期内此些有效数据又因再次被更新而无效化,造成无谓的资源耗费。
发明内容
本发明提供一种存储器管理方法、存储器控制电路单元以及存储器存储装置,可降低刚被搬移的有效数据立即因为被更新而成为无效数据的机率,提升垃圾收集操作的执行效率。
本发明的一范例实施例提出一种用于可复写式非易失性存储器模块的存储器管理方法,其中可复写式非易失性存储器模块具有多个实体抹除单元。本存储器管理方法包括:提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端;依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列;依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序;以及搬移存储在所述至少一第二实体抹除单元中的有效数据。
在本发明的一范例实施例中,所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述依据对应所述第一实体抹除单元的所述更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的步骤包括:接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;依据所述写入指令更新所述第一实体抹除单元;以及将所述第一实体抹除单元排列到所述序列的所述第一端。
在本发明的一范例实施例中,所述依据所述写入指令更新所述第一实体抹除单元的步骤包括:将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元;以及将存储在所述第一实体抹除单元的第二数据标识为无效数据,其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
在本发明的一范例实施例中,上述的存储器管理方法还包括:判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目。当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤。
在本发明的一范例实施例中,所述依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤包括:依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;倘若所述第一候选实体抹除单元符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述数据条件为一个实体抹除单元的有效计数小于门槛值。所述依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤还包括:当已搜寻完所述至少部分的实体抹除单元时,将所述门槛值从第一值调整为第二值,并且再次执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤。
在本发明的一范例实施例中,所述第二值大于所述第一值。
在本发明的一范例实施例中,所述搬移存储在所述至少一第二实体抹除单元中的有效数据的步骤包括:将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元。上述的存储器管理方法还包括:抹除所述至少一第二实体抹除单元。
本发明的一范例实施例提出存储器控制电路单元,其包括主机接口、存储器接口与存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元。所述存储器管理电路用以连接至所述主机接口与所述存储器接口,并且用以提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端。再者,所述存储器管理电路还用以依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列。此外,所述存储器管理电路还用以依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序。并且,所述存储器管理电路还用以搬移存储在所述至少一第二实体抹除单元中的有效数据。
在本发明的一范例实施例中,所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述存储器管理电路依据对应所述第一实体抹除单元的所述更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的操作包括:接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;依据所述写入指令更新所述第一实体抹除单元;以及将所述第一实体抹除单元排列到所述序列的所述第一端。
在本发明的一范例实施例中,所述存储器管理电路依据所述写入指令更新所述第一实体抹除单元的操作包括:将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元,并且将存储在所述第一实体抹除单元的第二数据标识为无效数据,其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
在本发明的一范例实施例中,所述存储器管理电路还用以判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目。当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,所述存储器管理电路执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
在本发明的一范例实施例中,所述存储器管理电路依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作包括:依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;倘若所述第一候选实体抹除单元的符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述数据条件为一个实体抹除单元的有效计数小于门槛值。所述存储器管理电路依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作还包括:当已搜寻完所述至少部分的实体抹除单元时,将门槛值从第一值调整为第二值,并且再次执行依据搜寻顺序搜寻此些至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元的操作。
在本发明的一范例实施例中,所述第二值大于所述第一值。
在本发明的一范例实施例中,所述存储器管理电路搬移存储在所述至少一第二实体抹除单元中的有效数据的操作包括:将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元。所述存储器管理电路还用以抹除所述至少一第二实体抹除单元。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块具有多个实体抹除单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块并且用以提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端。再者,所述存储器控制电路单元还用以依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列。此外,所述存储器控制电路单元还用以依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序。并且,所述存储器控制电路单元还用以搬移存储在所述至少一第二实体抹除单元中的有效数据。
在本发明的一范例实施例中,所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述存储器控制电路单元依据对应所述第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的操作包括:接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;依据所述写入指令更新所述第一实体抹除单元;以及将所述第一实体抹除单元排列到所述序列的所述第一端。
在本发明的一范例实施例中,所述存储器控制电路单元依据所述写入指令更新所述第一实体抹除单元的操作包括:将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元,并且将存储在所述第一实体抹除单元的第二数据标识为无效数据,其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
在本发明的一范例实施例中,所述存储器控制电路单元还用以判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目。当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,所述存储器控制电路单元执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
在本发明的一范例实施例中,所述存储器控制电路单元依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作包括:依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;倘若所述第一候选实体抹除单元符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
在本发明的一范例实施例中,所述数据条件为一个实体抹除单元的有效计数小于门槛值。所述存储器控制电路单元依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作还包括:当已搜寻完所述至少部分的实体抹除单元时,将所述门槛值从第一值调整为第二值,并且再次执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
在本发明的一范例实施例中,所述第二值大于所述第一值。
在本发明的一范例实施例中,所述存储器控制电路单元搬移存储在所述至少一第二实体抹除单元中的有效数据的操作包括:将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元。所述存储器控制电路单元还用以抹除所述至少一第二实体抹除单元。
基于上述,本范例实施例的存储器管理方法、存储器存储装置与存储器控制电路单元是通过排序至少部分的实体抹除单元以产生序列,并将最近被更新的实体抹除单元排列至序列的一端来动态地调整序列。此外,从序列的另一端依序地选取实体抹除单元以找出可用于执行垃圾回收操作的实体抹除单元。由此,可提升垃圾收集操作的执行效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是依据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是依据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图3是依据另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是依据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
图5是依据一范例实施例所示出的存储器控制电路单元的概要方块图。
图6与图7是依据一范例实施例所示出的管理实体抹除单元的范例示意图。
图8是依据本发明的一范例实施例所示出的依据更新时间顺序来排序非闲置实体抹除单元的示意图。
图9是依据本发明的一范例实施例所示出的依据搜寻顺序执行垃圾收集操作的示意图。
图10是依据本发明的一范例实施例所示出的存储器管理方法的流程图。
图11是依据本发明的另一范例实施例所示出的存储器管理方法的流程图。
附图标记说明
10:存储器存储装置
11:主机系统
12:输入/输出(I/O)装置
110:系统总线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主机板
201:U盘
202:记忆卡
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
30:存储器存储装置
31:主机系统
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
410(0)~410(7)、410(F-1)、410(F)、410(F+1)、410(S-1)、410(S)、410(S+1)、410(R-1)、410(R)、410(R+1)、410(N):实体抹除单元
502:存储器管理电路
504:主机接口
506:存储器接口
508:缓冲存储器
510:电源管理电路
512:错误检查与校正电路
602:数据区
604:闲置区
606:系统区
608:取代区
LBA(0)~LBA(H):逻辑单元
LZ(0)~LZ(M):逻辑区域
800、810、900:序列
S1001:提供对应至少部分的实体抹除单元的序列的步骤
S1003:依据对应第一实体抹除单元的更新时间将第一实体抹除单元排列到序列的第一端以调整序列的步骤
S1005:依据搜寻顺序搜寻至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,并且此搜寻顺序是指示从序列的第二端至序列的第一端的顺序的步骤
S1007:搬移存储在至少一第二实体抹除单元中的有效数据的步骤
S1101:提供对应非闲置实体抹除单元的序列的步骤
S1103:将最近被更新的非闲置实体抹除单元排列到序列的第一端以调整序列的步骤
S1105:判断闲置实体抹除单元的数目是否小于或等于预设数目的步骤
S1107:当闲置实体抹除单元的数目小于或等于预设数目时,依据搜寻顺序从非闲置实体抹除单元中选取候选实体抹除单元,并且此搜寻顺序是指示从序列的第二端至序列的第一端的顺序的步骤
S1109:判断候选实体抹除单元的有效计数是否小于门槛值的步骤
S1111:当候选实体抹除单元的有效计数小于门槛值时,搬移存储在候选实体抹除单元中的有效数据的步骤
S1113:当候选实体抹除单元的有效计数不小于门槛值时,判断是否已搜寻完序列中所有的非闲置实体抹除单元的步骤
S1115:当已搜寻完序列中所有的非闲置实体抹除单元时,将门槛值从第一值调整为第二值的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是依据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图,并且图2是依据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10连接。例如,主机系统11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式连接至存储器存储装置10。存储器存储装置10可例如是U盘201、记忆卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication Storage,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是依据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是依据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于安全数字(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded MultiChip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬体型式或固体型式实作的多个逻辑门或控制指令,并且依据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据二进制位区与冗余二进制位区。数据二进制位区包含多个实体存取地址用以存储使用者的数据,而冗余二进制位区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据二进制位区中会包含8个实体存取地址,且一个实体存取地址的大小为512二进制位组(byte)。然而,在其他范例实施例中,数据二进制位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为单阶存储单元(SingleLevel Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据二进制位的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据二进制位的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据二进制位的快闪存储器模块)或其他具有相同特性的存储器模块。
图5是依据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬体型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口504是连接至存储器管理电路502并且用以连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。例如,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。
图6与图7是依据一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图6,存储器管理电路502会将实体抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。
逻辑上属于数据区602与闲置区604的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区602的实体抹除单元。
逻辑上属于系统区606的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区602、闲置区604、系统区606与取代区608的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。
请参照图7,存储器管理电路502会配置逻辑区块地址LBA(0)~LBA(H)以映射数据区602的实体抹除单元,其中每一逻辑区块地址具有多个逻辑地址以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统11欲写入数据至逻辑地址或更新存储于逻辑地址中的数据时,存储器管理电路502会从闲置区604中提取一个实体抹除单元作为作动实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。并且,当此作为作动实体抹除单元的实体抹除单元被写满时,存储器管理电路502会再从闲置区604中提取空的实体抹除单元作为作动实体抹除单元,以继续写入对应来自于主机系统11的写入指令的更新数据。此外,当闲置区604中可用的实体抹除单元的数目小于预设值时,存储器管理电路502会执行垃圾收集(garbage collection)操作(也称为,有效数据收集操作)来整理数据区602中的有效数据,以将数据区602中无存储有效数据的实体抹除单元重新关联至闲置区604。
为了识别每个逻辑单元的数据被存储在哪个实体抹除单元,在本范例实施例中,存储器管理电路502会记录逻辑地址与实体程序化单元之间的映射关系。例如,在本范例实施例中,存储器管理电路502会在可复写式非易失性存储器模块406中存储逻辑-实体映射表来记录每一逻辑地址所映射的实体程序化单元。当欲存取数据时存储器管理电路502会将逻辑-实体映射表载入至缓冲存储器508来维护,并且依据逻辑-实体映射表来写入或读取数据。
值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器管理电路502会将逻辑区块地址LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑-实体映射表。特别是,当存储器管理电路502欲更新某个逻辑区块地址的映射时,对应此逻辑区块地址所属的逻辑区域的逻辑-实体映射表会被载入至缓冲存储器508来被更新。具体来说,若对应此逻辑区块地址所属的逻辑区域的逻辑-实体映射表未被暂存在缓冲存储器508中(即,缓冲存储器508中所暂存的逻辑-实体映射表未记录欲更新的逻辑区块地址的映射时),存储器管理电路502会执行映射表交换操作(mapping table swapping operation)以将目前暂存在缓冲存储器508中逻辑-实体映射表回存至可复写式非易失性存储器模块406,并且将记录有欲更新的逻辑区块地址所映射的逻辑-实体映射表载入至缓冲存储器508中。
数据区602中的实体抹除单元410(0)~410(F-1)也称为非闲置实体抹除单元,而闲置区604中的实体抹除单元410(F)~410(S-1)也称为闲置实体抹除单元。
在本范例实施例中,存储器管理电路502会依据实体抹除单元410(0)~410(N)中至少部分的实体抹除单元的更新时间顺序来产生对应排序后的序列。至少部分的实体抹除单元可以是非闲置实体抹除单元。在本范例实施例中,非闲置实体抹除单元是指已存储数据而被关联至数据区602的实体抹除单元。更新时间是指一个非闲置实体抹除单元中的数据被更新时的时间。例如,当一个非闲置实体抹除单元中的一个实体程序化单元被标识为无效状态时,表示此非闲置实体抹除单元的数据已被更新,并且此非闲置实体抹除单元的更新时间即为其数据被更新的时间。举例而言,当主机系统11发送指示将数据写入至某个逻辑地址的写入指令时,存储器管理电路502依据逻辑-实体映射表来找出此逻辑地址所映射的非闲置实体抹除单元,并且将存储在所述非闲置实体抹除单元中的旧数据标识为无效数据。因此,所述非闲置实体抹除单元的更新时间可以是存储在所述非闲置实体抹除单元的旧数据被标识为无效数据的时间。此外,存储器管理电路502会依据从主机系统11接收的写入指令而将新数据写入至另一个实体抹除单元中。在一范例实施例中,存储器管理电路502可为每一个实体抹除单元的每一个实体程序化单元记录一个更新时间,并且将所有实体程序化单元的更新时间中最新的更新时间标识为此实体抹除单元的更新时间。在此,具有最新的更新时间的实体程序化单元表示最近被更新的实体程序化单元。
换句话说,当主机系统11发送写入指令指示将新数据写入至映射至某个非闲置实体抹除单元的逻辑地址时,存储器管理电路502会更新此非闲置实体抹除单元而使此非闲置实体抹除单元具有最新的更新时间。之后,存储器管理电路502会根据被更新的非闲置实体抹除单元来动态地调整对应所有非闲置实体抹除单元的排列序列。
图8是依据本发明的一范例实施例所示出的依据更新时间来排序非闲置实体抹除单元的示意图。
请参照图8,假设实体抹除单元410(0)~410(7)为已经存储数据的非闲置实体抹除单元,换句话说,实体抹除单元410(0)~410(7)的全部的实体程序化单元已存储了有效数据或无效数据。须注意的是,在本范例实施例中是以实体抹除单元410(0)~410(7)作为非闲置实体抹除单元来说明,但在实际运作上,在可复写式非易失性存储器模块406可包括更多或更少的数目的非闲置实体抹除单元。
如图8所示,存储器管理电路502依据更新时间排序实体抹除单元410(0)~410(7)以产生序列800。在本范例实施例中,一个非闲置实体抹除单元的更新时间是此非闲置实体抹除单元的某一个实体程序化单元所存储的数据被标识为无效数据的时间。序列800可以是存储器管理电路502利用指标(pointer)或标记(flag)将排序后的实体抹除单元410(0)~410(7)互相串接而成的串接结构。也就是说,序列800是一种逻辑上的串接关系,而不是实体上的串接关系。序列800具有第一端与第二端,并且第一端对应序列800的最左边且第二端对应序列800的最右边。当一个非闲置实体抹除单元的数据被更新时,此非闲置实体抹除单元会是最近被更新的非闲置实体抹除单元而具有最新的更新时间。在本范例实施例中,在对非闲置实体抹除单元的排序运作中,存储器管理电路502会将最近被更新的非闲置实体抹除单元排列到序列800的第一端,并且对应地调整序列800中的非闲置实体抹除单元之间的顺序关系(例如调整非闲置实体抹除单元之间的串接关系)。因此,长时间未被更新的非闲置实体抹除单元的排列位置会逐渐地往序列800的第二端靠近。在上述的排序运作持续执行了一段时间之后,最久未被更新的非闲置实体抹除单元会排列在序列800的第二端。在本范例实施例中,最久未被更新的非闲置实体抹除单元会具有最旧的更新时间。因此,实体抹除单元410(0)~410(7)会依据更新时间最新到更新时间最旧的顺序依序地排列在序列800的第一端到第二端之间。也就是说,实体抹除单元410(0)为最近被更新的非闲置实体抹除单元,而实体抹除单元410(7)为最久未被更新的非闲置实体抹除单元。
假设存储器管理电路502从主机系统11接收到一个写入指令,并且此写入指令指示将一笔数据写入至映射到实体抹除单元410(2)的一逻辑地址。存储器管理电路502会将实体抹除单元410(2)中映射至此逻辑地址的实体程序化单元所存储的数据标识为无效数据。此时,实体抹除单元410(2)为最近被更新的非闲置实体抹除单元而具有最新的更新时间。在一范例实施例中,存储器管理电路502也可通过将映射至此逻辑地址的实体程序化单元标识为无效状态来表示其所存储的数据为无效数据。接着,存储器管理电路502会将实体抹除单元410(2)排列至序列800的第一端(也即最左边)并且调整序列800中的顺序关系以产生序列810。例如,存储器管理电路502会将原本排列在实体抹除单元410(2)左边的实体抹除单元410(0)与实体抹除单元410(1)调整为排列在实体抹除单元410(2)的右边,而原本排列在实体抹除单元410(2)右边的实体抹除单元410(3)~410(7)的顺序不变。换句话说,在序列810中,实体抹除单元410(2)排列在序列810的第一端(也即最左边),实体抹除单元410(0)排列在相邻于实体抹除单元410(2)的右边,且实体抹除单元410(1)排列在相邻于实体抹除单元410(0)的右边。之后,存储器管理电路502会将写入指令所指示的数据写入至另一个实体抹除单元中,并且更新此逻辑地址的映射。在本范例实施例中,上述的另一个实体抹除单元可为实体抹除单元410(0)~410(7)以外的实体抹除单元。通过将最近被更新的非闲置实体抹除单元排列在序列的第一端来调整序列,可使最久未被更新的非闲置实体抹除单元排列在序列的第二端。也就是说,在对应排序后的非闲置实体抹除单元的序列中,当一个非闲置实体抹单元的更新时间越新(也即越接近目前的系统时间),此非闲置实体抹单元会越靠近第一端。
在更新时间是指有效数据被标识为无效数据的时间的范例实施例中,当一个非闲置实体抹除单元的更新时间很新(也即很接近目前的系统时间),表示存储在此非闲置实体抹除单元的数据最近曾因更新而被无效化,则存储在此非闲置实体抹除单元中的其他有效数据可能因此有较高的机率会在近期内被更新。相对地,当一个非闲置实体抹除单元的更新时间很旧,表示存储在此非闲置实体抹除单元的有效数据很久未因更新而被无效化,则存储在此非闲置实体抹除单元的有效数据可能因此有较低的机率会在近期内被更新。在本范例实施利中,当闲置区604中的闲置实体抹除单元的数目小于预设值时,存储器管理电路502会优先选取更新时间较旧的非闲置实体抹除单元来执行垃圾收集操作。
具体而言,存储器管理电路502会依据排序后的非闲置实体抹除单元来决定一搜寻顺序,并且依据上述的搜寻顺序来搜寻非闲置实体抹除单元以找出符合数据条件的非闲置实体抹除单元(也称为,第二实体抹除单元)。
在本范例实施例中,搜寻顺序是指示从对应排序后的非闲置实体抹除单元的序列(例如序列800或序列810)的第二端(例如最右边)至第一端(例如最左边)的顺序。由于在对应排序后的非闲置实体抹除单元的序列中,第一端至第二端的顺序是对应更新时间最新至更新时间最旧的非闲置实体抹除单元的排列顺序,因此,第二端至第一端的顺序则是对应更新时间最旧至更新时间最新的非闲置实体抹除单元的排列顺序。也就是说,搜寻顺序是以最久未被更新的非闲置实体抹除单元为开始的顺序。
特别的是,存储器管理电路502会依据搜寻顺序依序地选取序列中的一个非闲置实体抹除单元作为候选实体抹除单元。倘若此候选实体抹除单元的有效计数小于一门槛值,存储器管理电路502会决定此候选实体抹除单元符合数据条件。在此,有效计数是指一个实体抹除单元中存储有效数据的实体程序化单元的数目。之后,存储器管理电路502会将存储在此候选实体抹除单元中的有效数据搬移或复制到另一个实体抹除单元(也称为,第三实体抹除单元)中,并且对此候选实体抹除单元执行抹除操作。在本范例实施例中,第三实体抹除单元可为实体抹除单元410(0)~410(7)以外的实体抹除单元。
图9是依据本发明的一范例实施例所示出的依据搜寻顺序执行垃圾收集操作的示意图。为便于说明,在图9的范例实施例中是以表格的方式作为对应排序后的非闲置实体抹除单元的序列的示意图,并非以此为限制。
请参照图9,假设数据区602的非闲置实体抹除单元包括实体抹除单元410(0)~410(7),并且存储器管理电路502依据更新时间排序实体抹除单元410(0)~410(7)而产生对应的序列900。在序列900中,最左边的实体抹除单元410(0)的更新时间最新,左边第二个的实体抹除单元410(5)的更新时间比实体抹除单元410(0)的更新时间旧但比左边第三个的实体抹除单元410(6)的更新时间新,而最右边的实体抹除单元410(1)的更新时间最旧。搜寻顺序是指示实体抹除单元410(1)、实体抹除单元410(2)、实体抹除单元410(3)、实体抹除单元410(4)、实体抹除单元410(7)、实体抹除单元410(6)、实体抹除单元410(5)与实体抹除单元410(0)的顺序。因此,存储器管理电路502会以实体抹除单元410(1)为开始依序地选取候选实体抹除单元。
当闲置实体抹除单元的数目小于或等于预设数目时,存储器管理电路502会启动垃圾回收操作。首先,存储器管理电路502会选取序列900中最右边的实体抹除单元410(1)作为候选实体抹除单元。假设门槛值为5,且实体抹除单元410(1)的有效计数为4。存储器管理电路502会判定实体抹除单元410(1)的有效计数小于门槛值,因而决定实体抹除单元410(1)符合数据条件。之后,存储器管理电路502会将存储在实体抹除单元410(1)中的有效数据搬移或复制到另一个实体抹除单元中,并且抹除实体抹除单元410(1)以释放出实体抹除单元410(1)作为闲置实体抹除单元。
接着,倘若闲置实体抹除单元的数目大于预设数目,存储器管理电路502可结束垃圾回收操作。然而,倘若闲置实体抹除单元的数目小于或等于预设数目,存储器管理电路502会依据搜寻顺序依序选取实体抹除单元410(1)的下一个实体抹除单元410(2)作为候选实体抹除单元。假设实体抹除单元410(2)的有效计数为5。此时,存储器管理电路502会判定实体抹除单元410(2)的有效计数不小于门槛值,因而决定实体抹除单元410(2)不符合数据条件。因此,存储器管理电路502会依据搜寻顺序依序选取实体抹除单元410(2)的下一个实体抹除单元410(3)作为候选实体抹除单元。假设实体抹除单元410(3)的有效计数为100。此时,存储器管理电路502会判定实体抹除单元410(3)的有效计数不小于门槛值,因而决定实体抹除单元410(3)不符合数据条件。因此,存储器管理电路502会依据搜寻顺序依序选取实体抹除单元410(3)的下一个实体抹除单元410(4)作为候选实体抹除单元。假设实体抹除单元410(4)的有效计数为3。此时,存储器管理电路502会判定实体抹除单元410(4)的有效计数小于门槛值,因而决定实体抹除单元410(4)符合数据条件。之后,存储器管理电路502会将存储在实体抹除单元410(4)中的有效数据复制到另一个实体抹除单元中,并且抹除实体抹除单元410(4)以释放出实体抹除单元410(4)作为闲置实体抹除单元。
在上述的范例实施例中,存储器管理电路502也可先将存储在符合数据条件的非闲置实体抹除单元中的有效数据先复制到缓冲存储器508中暂存。当收集到足够数据量(例如等于一个实体抹除单元最多可存放的数据量)的有效数据之后,再一次性地将暂存在缓冲存储器508中的有效数据写入至从闲置区提取的一个实体抹除单元中。
换句话说,存储器管理电路502会依据搜寻顺序持续地寻找符合数据条件的非闲置实体抹除单元以释放出足够数目的闲置实体抹除单元。
在一范例实施例中,最近被更新的实体抹除单元不会被选取为第二实体抹除单元(也即符合数据条件的非闲置实体抹除单元)。例如,存储器管理电路502可通过判断候选实体抹除单元是否为排列在序列的第一端的实体抹除单元来决定此候选实体抹除单元是否为最近被更新的实体抹除单元。举例而言,当选取实体抹除单元410(0)作为候选实体抹除单元时,存储器管理电路502会判断出实体抹除单元410(0)为排列在序列900的第一端的实体抹除单元而决定实体抹除单元410(0)为最近被更新的实体抹除单元。因此,存储器管理电路502不会选取实体抹除单元410(0)作为第二实体抹除单元,并且重新选取实体抹除单元410(1)作为候选实体抹除单元。然而,存储器管理电路502也可不选取最近被更新的实体抹除单元作为候选实体抹除单元。举例而言,当选取了实体抹除单元410(5)作为候选实体抹除单元之后,存储器管理电路502可忽略实体抹除单元410(0)而重新选取实体抹除单元410(1)作为候选实体抹除单元。
此外,存储器管理电路502还会删除序列900中被释放的一或多个非闲置实体抹除单元以更新序列900。例如,在实体抹除单元410(1)被释放后,存储器管理电路502会删除序列900的实体抹除单元410(1)以更新序列900,也就是说,在更新后的序列900中,实体抹除单元410(2)会被排列在最右边。然而,当搜寻完序列900中所有的非闲置实体抹除单元之后,倘若闲置实体抹除单元的数目小于或等于预设数目,存储器管理电路502会将门槛值由较低的第一值调整为较高的第二值,并再次选取最右边的实体抹除单元。例如,存储器管理电路502可将门槛值从5调整为6,并且再次选取最右边的实体抹除单元作为候选实体抹除单元,例如实体抹除单元410(2)。之后,存储器管理电路502依据新的门槛值来决定出符合数据条件的非闲置实体抹除单元。
当一次垃圾收集操作开始时,存储器管理电路502可以使用一个预设的初始值作为门槛值来执行有效计数的判断,并且在本次垃圾收集操作结束之前,依上述的状况调整门槛值。而在本次垃圾收集操作结束之后,当下一次垃圾收集操作开始时,存储器管理电路502再次使用预设的初始值作为门槛值。
图10是依据本发明的一范例实施例所示出的存储器管理方法的流程图。
请参照图10,在步骤S1001中,存储器管理电路502会提供对应至少部分的实体抹除单元的序列。此序列具有第一端与第二端。在步骤S1003中,存储器管理电路502会依据对应第一实体抹除单元的更新时间将第一实体抹除单元排列到序列的第一端以调整序列。如前所述,存储器管理电路502可依据更新时间顺序来排序至少部分的实体抹除单元以提供此序列。在本范例实施例中,第一实体抹除单元即为上述的至少部分的实体抹除单元中最近被更新的实体抹除单元而具有最新的更新时间。在存储器存储装置10的运作期间,存储器管理电路502会通过将最近被更新的第一实体抹除单元排列到序列的第一端以动态地调整此序列。
在步骤S1005中,存储器管理电路502会依据搜寻顺序搜寻至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,并且此搜寻顺序是指示从序列的第二端至序列的第一端的顺序。在此步骤中,存储器管理电路502会优先从至少部分的实体抹除单元中最久未被更新的实体抹除单元(也即具有最旧的更新时间的实体抹除单元)开始寻找符合数据条件的至少一第二实体抹除单元。在步骤S1007中,存储器管理电路502会搬移存储在至少一第二实体抹除单元中的有效数据。例如,存储器管理电路502会将存储在至少一第二实体抹除单元中的有效数据复制到从闲置区中提取的一个实体抹除单元中。此外,在步骤S1007之后,存储器管理电路502可对至少一第二实体抹除单元执行抹除操作。
图10的上述各步骤已于前述的范例实施例中详细说明,于此便不再赘述。
图11是依据本发明的另一范例实施例所示出的存储器管理方法的流程图。
请参照图11,在步骤S1101中,存储器管理电路502会提供对应非闲置实体抹除单元的序列。在步骤S1103中,存储器管理电路502会将最近被更新的非闲置实体抹除单元排列到序列的第一端以调整序列。
在步骤S1105中,存储器管理电路502会判断闲置实体抹除单元的数目是否小于或等于预设数目。倘若闲置实体抹除单元的数目未小于或等于预设数目,存储器管理电路502会继续执行步骤S1103。
另一方面,倘若闲置实体抹除单元的数目小于或等于预设数目,存储器管理电路502会执行步骤S1107。在步骤S1107中,当闲置实体抹除单元的数目小于或等于预设数目时,存储器管理电路502会依据搜寻顺序从非闲置实体抹除单元中选取候选实体抹除单元,并且此搜寻顺序是指示从序列的第二端至序列的第一端的顺序。
接着,在步骤S1109中,存储器管理电路502会判断候选实体抹除单元的有效计数是否小于门槛值。倘若候选实体抹除单元的有效计数小于门槛值,存储器管理电路502会执行步骤S1111。在步骤S1111中,当候选实体抹除单元的有效计数小于门槛值时,存储器管理电路502会搬移存储在候选实体抹除单元中的有效数据。之后,存储器管理电路502会继续执行步骤S1105。
另一方面,倘若候选实体抹除单元的有效计数不小于门槛值,存储器管理电路502则会执行步骤S1113。在步骤S1113中,当候选实体抹除单元的有效计数不小于门槛值时,存储器管理电路502会判断是否已搜寻完序列中所有的非闲置实体抹除单元。例如,存储器管理电路502可通过判断候选实体抹除单元是否为排列在序列的第一端的实体抹除单元来决定是否已搜寻完序列中所有的非闲置实体抹除单元。倘若候选实体抹除单元为排列在序列的第一端的实体抹除单元,存储器管理电路502会判定已搜寻完序列中所有的非闲置实体抹除单元。倘若候选实体抹除单元不为排列在序列的第一端的实体抹除单元,存储器管理电路502会判定尚未搜寻完序列中所有的非闲置实体抹除单元。
当尚未搜寻完序列中所有的非闲置实体抹除单元时,存储器管理电路502会执行步骤S1107而选取下一个实体抹除单元作为候选实体抹除单元。然而,当已搜寻完序列中所有的非闲置实体抹除单元(例如候选实体抹除单元为排列在序列的第一端的实体抹除单元)时,存储器管理电路502会执行步骤S1115。在步骤S1115中,当已搜寻完所有的非闲置实体抹除单元时,存储器管理电路502会将门槛值从第一值调整为第二值。之后,存储器管理电路502会执行步骤S1107而重新选取候选实体抹除单元。此时,由于已搜寻完序列中所有的非闲置实体抹除单元,因此,存储器管理电路502会再次选取排列在序列的第二端的实体抹除单元作为候选实体抹除单元。
综上所述,本发明范例实施例的存储器管理方法、存储器存储装置与存储器控制电路单元,会依据非闲置实体抹除单元的更新时间顺序来排序非闲置实体抹除单元以产生对应的序列,并通过将最近被更新的非闲置实体抹除单元排列至序列的一端来动态地调整对应的序列。藉此可使长时间未被更新的非闲置实体抹除单元逐渐地排列在对应的序列的另一端。再者,通过从对应的序列的另一端依序地选取非闲置实体抹除单元来寻找可做为垃圾收集操作的执行对象的非闲置实体抹除单元。由此,可降低刚被搬移的有效数据立即因为被更新而成为无效数据的机率,提升垃圾收集操作的执行效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (27)
1.一种存储器管理方法,其特征在于,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,且所述存储器管理方法包括:
提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端;
依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列;
依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序;以及
搬移存储在所述至少一第二实体抹除单元中的有效数据。
2.根据权利要求1所述的存储器管理方法,其特征在于,其中所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
3.根据权利要求1所述的存储器管理方法,其特征在于,其中依据对应所述第一实体抹除单元的所述更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的步骤包括:
接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;
依据所述写入指令更新所述第一实体抹除单元;以及
将所述第一实体抹除单元排列到所述序列的所述第一端。
4.根据权利要求3所述的存储器管理方法,其特征在于,其中依据所述写入指令更新所述第一实体抹除单元的步骤包括:
将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元;以及
将存储在所述第一实体抹除单元的第二数据标识为无效数据,
其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
5.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目,
其中当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤。
6.根据权利要求1所述的存储器管理方法,其特征在于,其中依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤包括:
依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;
倘若所述第一候选实体抹除单元符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;
倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及
倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
7.根据权利要求6所述的存储器管理方法,其特征在于,其中所述数据条件为实体抹除单元的有效计数小于门槛值,
其中依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤还包括:
当已搜寻完所述至少部分的实体抹除单元时,将所述门槛值从第一值调整为第二值,并且再次执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的步骤。
8.根据权利要求7所述的存储器管理方法,其特征在于,其中所述第二值大于所述第一值。
9.根据权利要求1所述的存储器管理方法,其特征在于,其中搬移存储在所述至少一第二实体抹除单元中的有效数据的步骤包括:
将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元,
其中所述存储器管理方法还包括:
抹除所述至少一第二实体抹除单元。
10.一种存储器控制电路单元,其特征在于,包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元;以及
存储器管理电路,用以连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端,
其中所述存储器管理电路还用以依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列,
其中所述存储器管理电路还用以依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序,
其中所述存储器管理电路还用以搬移存储在所述至少一第二实体抹除单元中的有效数据。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,其中所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
12.根据权利要求10所述的存储器控制电路单元,其特征在于,其中所述存储器管理电路依据对应所述第一实体抹除单元的所述更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的操作包括:
接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;
依据所述写入指令更新所述第一实体抹除单元;以及
将所述第一实体抹除单元排列到所述序列的所述第一端。
13.根据权利要求12所述的存储器控制电路单元,其特征在于,其中所述存储器管理电路依据所述写入指令更新所述第一实体抹除单元的操作包括:
将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元,并且将存储在所述第一实体抹除单元的第二数据标识为无效数据,
其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
14.根据权利要求10所述的存储器控制电路单元,其特征在于,其中所述存储器管理电路还用以判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目,
其中当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,所述存储器管理电路执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
15.根据权利要求10所述的存储器控制电路单元,其特征在于,其中所述存储器管理电路依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作包括:
依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;
倘若所述第一候选实体抹除单元符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;
倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及
倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
16.根据权利要求15所述的存储器控制电路单元,其特征在于,其中所述数据条件为实体抹除单元的有效计数小于门槛值,
其中所述存储器管理电路依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作还包括:
当已搜寻完所述至少部分的实体抹除单元时,将所述门槛值从第一值调整为第二值,并且再次执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
17.根据权利要求16所述的存储器控制电路单元,其特征在于,其中所述第二值大于所述第一值。
18.根据权利要求10所述的存储器控制电路单元,其特征在于,其中所述存储器管理电路搬移存储在所述至少一第二实体抹除单元中的有效数据的操作包括:
将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元,
其中所述存储器管理电路还用以抹除所述至少第二实体抹除单元。
19.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,包括多个实体抹除单元;以及
存储器控制电路单元,用以连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以提供对应所述多个实体抹除单元中至少部分的实体抹除单元的序列,其中所述序列具有第一端与第二端,
其中所述存储器控制电路单元还用以依据对应第一实体抹除单元的更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列,
其中所述存储器控制电路单元还用以依据搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合数据条件的至少一第二实体抹除单元,其中所述搜寻顺序是指示从所述序列的所述第二端至所述序列的所述第一端的顺序,
其中所述存储器控制电路单元还用以搬移存储在所述至少一第二实体抹除单元中的有效数据。
20.根据权利要求19所述的存储器存储装置,其特征在于,其中所述第一实体抹除单元不会被选取为所述至少一第二实体抹除单元。
21.根据权利要求19所述的存储器存储装置,其特征在于,其中所述存储器控制电路单元依据对应所述第一实体抹除单元的所述更新时间将所述第一实体抹除单元排列到所述序列的所述第一端以调整所述序列的操作包括:
接收写入指令,其中所述写入指令指示将第一数据写入至逻辑地址,并且所述逻辑地址映射至所述第一实体抹除单元;
依据所述写入指令更新所述第一实体抹除单元;以及
将所述第一实体抹除单元排列到所述序列的所述第一端。
22.根据权利要求21所述的存储器存储装置,其特征在于,其中所述存储器控制电路单元依据所述写入指令更新所述第一实体抹除单元的操作包括:
将所述第一数据写入至所述多个实体抹除单元之中的其中一个实体抹除单元,并且将存储在所述第一实体抹除单元的第二数据标识为无效数据,
其中所述第一实体抹除单元为所述至少部分的实体抹除单元的其中一个实体抹除单元。
23.根据权利要求19所述的存储器存储装置,其特征在于,其中所述存储器控制电路单元还用以判断所述多个实体抹除单元中的闲置实体抹除单元的数目是否小于或等于预设数目,
其中当所述多个实体抹除单元中的闲置实体抹除单元的所述数目小于或等于所述预设数目时,所述存储器控制电路单元执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
24.根据权利要求19所述的存储器存储装置,其特征在于,其中所述存储器控制电路单元依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作包括:
依据所述搜寻顺序从所述至少部分的实体抹除单元中选取第一候选实体抹除单元;
倘若所述第一候选实体抹除单元符合所述数据条件,决定所述第一候选实体抹除单元为所述至少一第二实体抹除单元;
倘若所述第一候选实体抹除单元不符合所述数据条件,依据所述搜寻顺序从所述至少部分的实体抹除单元中选取所述第一候选实体抹除单元的下一个实体抹除单元作为第二候选实体抹除单元;以及
倘若所述第二候选实体抹除单元符合所述数据条件,决定所述第二候选实体抹除单元为所述至少一第二实体抹除单元。
25.根据权利要求24所述的存储器存储装置,其特征在于,其中所述数据条件为实体抹除单元的有效计数小于门槛值,
其中所述存储器控制电路单元依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作还包括:
当已搜寻完所述至少部分的实体抹除单元时,将所述门槛值从第一值调整为第二值,并且再次执行依据所述搜寻顺序搜寻所述至少部分的实体抹除单元以找出符合所述数据条件的所述至少一第二实体抹除单元的操作。
26.根据权利要求25所述的存储器存储装置,其特征在于,其中所述第二值大于所述第一值。
27.根据权利要求19所述的存储器存储装置,其特征在于,其中所述存储器控制电路单元搬移存储在所述至少一第二实体抹除单元中的有效数据的操作包括:
将存储在所述至少一第二实体抹除单元中的有效数据搬移至所述多个实体抹除单元之中的第三实体抹除单元,
其中所述存储器控制电路单元还用以抹除所述至少一第二实体抹除单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710263765.8A CN108733577B (zh) | 2017-04-21 | 2017-04-21 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710263765.8A CN108733577B (zh) | 2017-04-21 | 2017-04-21 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733577A true CN108733577A (zh) | 2018-11-02 |
CN108733577B CN108733577B (zh) | 2021-10-22 |
Family
ID=63933663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710263765.8A Active CN108733577B (zh) | 2017-04-21 | 2017-04-21 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108733577B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099727A (zh) * | 2019-06-18 | 2020-12-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
TWI745987B (zh) * | 2019-11-29 | 2021-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11307979B2 (en) | 2019-11-29 | 2022-04-19 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
US11397669B2 (en) | 2019-11-29 | 2022-07-26 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
US11748023B2 (en) | 2019-11-29 | 2023-09-05 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN101652762A (zh) * | 2008-04-24 | 2010-02-17 | 株式会社东芝 | 存储器系统 |
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102222046A (zh) * | 2011-06-09 | 2011-10-19 | 清华大学 | 一种磨损均衡方法及装置 |
CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
CN103761190A (zh) * | 2013-12-19 | 2014-04-30 | 华为技术有限公司 | 数据处理方法及装置 |
US8843712B1 (en) * | 2007-04-06 | 2014-09-23 | Marvell International Ltd. | Sensed opportunistic garbage collection in memory components |
US9110857B1 (en) * | 2014-05-28 | 2015-08-18 | Sandisk Technologies Inc. | Systems and methods for identifying and compressing rarely used data |
CN104899114A (zh) * | 2014-03-07 | 2015-09-09 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态硬盘上的连续时间数据保护方法 |
CN105224238A (zh) * | 2014-05-29 | 2016-01-06 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN105528305A (zh) * | 2015-12-04 | 2016-04-27 | 北京理工大学 | 一种基于ddr2 sdram的短周期存储方法 |
CN105701026A (zh) * | 2016-01-04 | 2016-06-22 | 上海斐讯数据通信技术有限公司 | 一种数据采集器及其利用系统冗余资源采集数据的方法 |
US9389792B1 (en) * | 2015-12-07 | 2016-07-12 | International Business Machines Corporation | Reducing read-after-write errors in a non-volatile memory system using an old data copy |
US9389999B2 (en) * | 2012-08-17 | 2016-07-12 | Infineon Technologies Ag | System and method for emulating an EEPROM in a non-volatile memory device |
-
2017
- 2017-04-21 CN CN201710263765.8A patent/CN108733577B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843712B1 (en) * | 2007-04-06 | 2014-09-23 | Marvell International Ltd. | Sensed opportunistic garbage collection in memory components |
CN101652762A (zh) * | 2008-04-24 | 2010-02-17 | 株式会社东芝 | 存储器系统 |
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102222046A (zh) * | 2011-06-09 | 2011-10-19 | 清华大学 | 一种磨损均衡方法及装置 |
US9389999B2 (en) * | 2012-08-17 | 2016-07-12 | Infineon Technologies Ag | System and method for emulating an EEPROM in a non-volatile memory device |
CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
CN103761190A (zh) * | 2013-12-19 | 2014-04-30 | 华为技术有限公司 | 数据处理方法及装置 |
CN104899114A (zh) * | 2014-03-07 | 2015-09-09 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态硬盘上的连续时间数据保护方法 |
US9110857B1 (en) * | 2014-05-28 | 2015-08-18 | Sandisk Technologies Inc. | Systems and methods for identifying and compressing rarely used data |
CN105224238A (zh) * | 2014-05-29 | 2016-01-06 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN105528305A (zh) * | 2015-12-04 | 2016-04-27 | 北京理工大学 | 一种基于ddr2 sdram的短周期存储方法 |
US9389792B1 (en) * | 2015-12-07 | 2016-07-12 | International Business Machines Corporation | Reducing read-after-write errors in a non-volatile memory system using an old data copy |
CN105701026A (zh) * | 2016-01-04 | 2016-06-22 | 上海斐讯数据通信技术有限公司 | 一种数据采集器及其利用系统冗余资源采集数据的方法 |
Non-Patent Citations (1)
Title |
---|
齐德昱 等: "基于NAND_Flash的静态均衡损耗算法", 《重庆工学院学报(自然科学版)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099727A (zh) * | 2019-06-18 | 2020-12-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
CN112099727B (zh) * | 2019-06-18 | 2022-07-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
TWI745987B (zh) * | 2019-11-29 | 2021-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11307979B2 (en) | 2019-11-29 | 2022-04-19 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
US11397669B2 (en) | 2019-11-29 | 2022-07-26 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
US11748023B2 (en) | 2019-11-29 | 2023-09-05 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
Also Published As
Publication number | Publication date |
---|---|
CN108733577B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI537728B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI584122B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN106681654A (zh) | 映射表载入方法与存储器存储装置 | |
TW201523618A (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN106990921B (zh) | 数据写入方法、存储器存储装置与存储器控制电路单元 | |
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107818808A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN106708416A (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
CN107544922A (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
TWI629590B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN106951186A (zh) | 数据程序化方法、存储器存储装置及存储器控制电路单元 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107346211A (zh) | 映射表加载方法、内存控制电路单元与内存储存装置 | |
CN107357520A (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
TWI571881B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |