CN109522236A - 存储器管理方法、存储器控制电路单元与存储器存储装置 - Google Patents

存储器管理方法、存储器控制电路单元与存储器存储装置 Download PDF

Info

Publication number
CN109522236A
CN109522236A CN201710839090.7A CN201710839090A CN109522236A CN 109522236 A CN109522236 A CN 109522236A CN 201710839090 A CN201710839090 A CN 201710839090A CN 109522236 A CN109522236 A CN 109522236A
Authority
CN
China
Prior art keywords
erased cell
entity
data field
threshold value
area
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
Application number
CN201710839090.7A
Other languages
English (en)
Other versions
CN109522236B (zh
Inventor
胡俊洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201710839090.7A priority Critical patent/CN109522236B/zh
Publication of CN109522236A publication Critical patent/CN109522236A/zh
Application granted granted Critical
Publication of CN109522236B publication Critical patent/CN109522236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种存储器管理方法、存储器控制电路单元与存储器存储装置。本方法包括在关联至数据区的实体抹除单元的数目大于第一门槛值时,执行对应数据区的第一垃圾收集操作;在关联至表格区的实体抹除单元的数目大于第二门槛值时,执行对应表格区的第二垃圾收集操作;以及依据关联至数据区的实体抹除单元的数目,动态地调整第二门槛值。

Description

存储器管理方法、存储器控制电路单元与存储器存储装置
技术领域
本发明涉及一种用于可复写式非易失性存储器的存储器管理方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
快闪存储器模块具有多个实体抹除单元且每一实体抹除单元具有多个实体程序化单元,其中在实体抹除单元中写入数据时必须依据实体程序化单元的顺序写入数据。此外,已被写入数据的实体程序化单元需先被抹除后才能再次用于写入数据。特别是,实体抹除单元为抹除的最小单位,并且实体程序化单元为程序化(也称写入)的最小单元。
在快闪存储器模块的管理中,在存储器存储装置开卡完成后,存储器管理电路会将空实体抹除单元放置于闲置区。在执行来自于主机系统的写入指令时,存储器管理电路会从闲置区中选取一实体抹除单元,将来自于主机系统的使用者数据写入至此实体抹除单元并且将此实体抹除单元关联至数据区(例如,在逻辑地址-实体地址映射表中记录逻辑页面与实体程序化单元间的映射信息)。此外,由于在执行写入指令时,相关的系统表数据也已被更新(例如,逻辑地址-实体地址映射表),因此,存储器管理电路会从闲置区中选取一实体抹除单元,将系统表数据写入至此实体抹除单元并且将此实体抹除单元关联至表格区(例如,在表格区队列表中记录存储逻辑地址-实体地址映射表的实体抹除单元)。在存储器存储装置运作期间,随着主机系统下达写入指令,使用者数据与系统管理表数据会被更新,而数据区与表格区中无存储有效数据的实体抹除单元会被重新关联至闲置区,由此实体抹除单元会不断地轮替来写入使用者数据与系统管理表数据
在实体抹除单元不断轮替使用下,存储器管理电路必须保留一定数目的实体抹除单元,才能顺利执行写入操作。因此,存储器管理电路会监控用于数据区的实体抹除单元的数目与用于表格区的实体抹除单元的数目,并据此执行垃圾收集操作(也称为有效数据合并操作),以避免闲置区的实体抹除单元耗尽。例如,若数据区的实体抹除单元的数目大于一预设固定数据区门槛值时,存储器管理电路会对数据区的实体抹除单元执行垃圾收集操作,以将数据区的数个实体抹除单元上的有效数据集中到一个空的实体抹除单元并将已无存有有效数据的实体抹除单元重新关联至闲置区。基此,数据区的实体抹除单元的数目就会降低,并且闲置区的数目会回复。同样地,若表格区的实体抹除单元的数目大于一预设固定表格区门槛值时,存储器管理电路会对表格区的实体抹除单元执行垃圾收集操作,以将表格区的数个实体抹除单元上的有效数据集中到一个空的实体抹除单元并将已无存有有效数据的实体抹除单元重新关联至闲置区。而执行垃圾收集操作会需要耗费一些时间,因此,会造成执行写入指令的延迟。
一般来说,在存储器存储装置所存储的数据中,系统管理表数据的量会远低使用者数据的量,因此,保留给表格区的实体抹除单元数目会远小于保留给数据区的实体抹除单元的数目。然而,在主机系统在零散的逻辑地址中写入数据(即,随机写入)时,表格区的实体抹除单元的数目会快速增加(即,保留给表格区的实体抹除单元会消耗的很快),造成存储器存储装置仅存储少量的使用者数据下就需开始对表格区的实体抹除单元执行垃圾收集操作,影响存储器存储装置的写入效能。基此,如何有效地执行垃圾收集操作,是此领域技术人员所致力的目标。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,其能够有效利用闲置的实体抹除单元,延迟执行垃圾收集操作,提升执行写入指令的效能。
本发明的的一范例实施例提出一种存储器管理方法,用于可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个实体抹除单元,且实体抹除单元至少被关联为数据区、闲置区或表格区。此存储器管理方法包括:在关联至数据区的实体抹除单元的数目大于第一门槛值时,执行对应数据区的第一垃圾收集操作;在关联至表格区的实体抹除单元的数目大于第二门槛值时,执行对应表格区的第二垃圾收集操作;以及依据关联至数据区的实体抹除单元的数目,动态地调整第二门槛值。
在本发明的一范例实施例中,第二门槛值会随着数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
在本发明的一范例实施例中,第二门槛值小于第一门槛值,其中第一门槛值为固定值。
在本发明的一范例实施例中,上述存储器管理方法还包括监控关联至数据区的实体抹除单元的数目是否大于第一门槛值,以及监控关联至表格区的实体抹除单元的数目是否大于第二门槛值。
在本发明的一范例实施例中,上述存储器管理方法还包括从闲置区中选择第一实体抹除单元,将使用者数据写入至第一实体抹除单元并且将第一实体抹除单元关联至数据区。此外,上述存储器管理方法还包括从闲置区中选择第二实体抹除单元,将管理表数据写入至第二实体抹除单元并且将第二实体抹除单元关联至表格区。
在本发明的一范例实施例中,上述执行对应数据区的第一垃圾收集操作的步骤包括:从闲置区中选择第三实体抹除单元,将数据区的至少两个实体抹除单元上的所有有效数据复制到第三实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第三实体抹除单元关联至数据区。
在本发明的一范例实施例中,上述执行对应表格区的第二垃圾收集操作的步骤包括:从闲置区中选择第四实体抹除单元,将表格区的至少两个实体抹除单元上的所有有效数据复制到第四实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第四实体抹除单元关联至表格区。
本发明的一范例实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,此可复写式非易失性存储器模块具有多个实体抹除单元。此存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,存储器接口用以电性连接至可复写式非易失性存储器模块,以及存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以将实体抹除单元至少关联为数据区、闲置区或表格区。此外,存储器管理电路还用以在关联至数据区的实体抹除单元的数目大于第一门槛值时,执行对应数据区的第一垃圾收集操作,并且在关联至表格区的实体抹除单元的数目大于第二门槛值时,执行对应表格区的第二垃圾收集操作。再者,存储器管理电路还用以依据关联至数据区的实体抹除单元的数目,动态地调整第二门槛值,其中第二门槛值会随着数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
在本发明的一范例实施例中,上述存储器管理电路还用以监控关联至数据区的实体抹除单元的数目是否大于第一门槛值,以及监控关联至表格区的实体抹除单元的数目是否大于第二门槛值。
在本发明的一范例实施例中,上述存储器管理电路还用以从闲置区中选择第一实体抹除单元,下达指令序列以将使用者数据写入至第一实体抹除单元并且将第一实体抹除单元关联至数据区。此外,上述存储器管理电路更用从闲置区中选择第二实体抹除单元,下达另一指令序列以将管理表数据写入至第二实体抹除单元并且将第二实体抹除单元关联至表格区。
在本发明的一范例实施例中,在执行对应数据区的第一垃圾收集操作的运作中,存储器管理电路从闲置区中选择第三实体抹除单元,将数据区的至少两个实体抹除单元上的所有有效数据复制到第三实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第三实体抹除单元关联至数据区。
在本发明的一范例实施例中,在执行对应表格区的第二垃圾收集操作的运作中,存储器管理电路从闲置区中选择第四实体抹除单元,将表格区的至少两个实体抹除单元上的所有有效数据复制到第四实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第四实体抹除单元关联至表格区。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以将实体抹除单元至少关联为数据区、闲置区或表格区。此外,存储器控制电路单元还用以在关联至数据区的实体抹除单元的数目大于第一门槛值时,执行对应数据区的第一垃圾收集操作,并且在关联至表格区的实体抹除单元的数目大于第二门槛值时,执行对应表格区的第二垃圾收集操作。再者,存储器控制电路单元还用以依据关联至数据区的实体抹除单元的数目,动态地调整第二门槛值,其中第二门槛值会随着数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
在本发明的一范例实施例中,上述存储器控制电路单元还用以监控关联至数据区的实体抹除单元的数目是否大于第一门槛值,以及监控关联至表格区的实体抹除单元的数目是否大于第二门槛值。
在本发明的一范例实施例中,上述存储器控制电路单元还用以从闲置区中选择第一实体抹除单元,将使用者数据写入至第一实体抹除单元并且将第一实体抹除单元关联至数据区。此外,上述存储器控制电路单元更用从闲置区中选择第二实体抹除单元,将管理表数据写入至第二实体抹除单元并且将第二实体抹除单元关联至表格区。
在本发明的一范例实施例中,在执行对应数据区的第一垃圾收集操作的运作中,存储器控制电路单元从闲置区中选择第三实体抹除单元,将数据区的至少两个实体抹除单元上的所有有效数据复制到第三实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第三实体抹除单元关联至数据区。
在本发明的一范例实施例中,在执行对应表格区的第二垃圾收集操作的运作中,存储器控制电路单元从闲置区中选择第四实体抹除单元,将表格区的至少两个实体抹除单元上的所有有效数据复制到第四实体抹除单元中,将此至少两个实体抹除单元重新关联至闲置区,将第四实体抹除单元关联至表格区。
基于上述,本范例实施例的存储器管理方法、存储器控制电路单元与存储器存储装置,是利用动态地调整对应限制表格区的实体抹除单元的数目的第二门槛值,由此使用闲置区中尚未使用来写入使用者数据的实体抹除单元来存储管理表数据。基此,可有效利用闲置的实体抹除单元,延迟执行垃圾收集操作,提升执行写入指令的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
图8是根据一范例实施例所示出执行写入操作的示意图。
图9是根据一范例实施例所示出的存储器管理方法的流程图。
附图标号说明
10:存储器存储装置
11:主机系统
12:输入/输出(I/O)装置
110:系统主线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
30:存储器存储装置
31:主机系统
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
410(0)、410(1)、410(S-1)、410(S)、410(S+1)、410(R-1)、410(R)、410(R+1)、410(N)、410(C)、410(T)、410(D):实体抹除单元
502:存储器管理电路
504:主机接口
506:存储器接口
508:缓冲存储器
510:电源管理电路
512:错误检查与校正电路
602:存储区
604:系统区
606:取代区
702:闲置区
704:数据区
706:表格区
LBA(0)~LBA(H):逻辑单元
LZ(0)~LZ(M):逻辑区域
W801、W802、W803、W804、W805、W806、W807、W808、W809、W810、W811:写入操作
S901:从主机系统中接收使用者数据的步骤
S903:从闲置区中选取第一实体抹除单元,将使用者数据写入至第一实体抹除单元中,并且将第一实体抹除单元关联至数据区的步骤
S905:判断数据区的实体抹除单元的数目是否大于第一门槛值的步骤
S907:执行第一有效数据合并操作的步骤
S909:根据数据区的实体抹除单元的数目调整第二门槛值的步骤
S911:从闲置区中选取第二实体抹除单元,将对应的管理表数据写入至第二实体抹除单元中,并且将第二实体抹除单元关联至表格区的步骤
S913:判断表格区的实体抹除单元的数目是否大于第二门槛值的步骤
S915:执行第二有效数据合并操作的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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所能接受的格式。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,错误检查与校正电路512是以低密度奇偶检查码(lowdensity parity code,LDPC)来实作。然而,在另一范例实施例中,错误检查与校正电路512也可以BCH码、卷积码(convolutional code)、涡轮码(turbo code)、比特翻转(bitflipping)等编码/解码算法来实作。
具体来说,存储器管理电路202会依据所接收的数据及对应的错误检查与校正码(以下也称为错误校正码)来产生错误校正码帧(ECC Frame)并且将错误校正码帧写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406读取数据时,错误检查与校正电路512会根据错误校正码帧中的错误校正码来验证所读取的数据的正确性。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
一般来说,在存储器存储装置10出厂之前,制造商会使用量产工具(MassProduction tool,MP tool)来对存储器存储装置10执行开卡操作,以执行初始化动作。请参照图6,例如,存储器管理电路502会执行初始化以将实体抹除单元410(0)~410(N)逻辑地分组为系统区604、取代区606与存储区602。
逻辑上属于系统区604的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区606中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区606中仍存有正常的实体抹除单元并且存储区602的实体抹除单元损坏时,存储器管理电路502会从取代区606中提取正常的实体抹除单元来更换损坏的实体抹除单元。
逻辑上属于存储区602的实体抹除单元,在开卡时,空的实体抹除单元会被关联为闲置区702。当从主机系统11接收到写入指令与欲写入的数据(也称为使用者数据)时,存储器管理电路502会从闲置区702中提取实体抹除单元,下达一指令序列以将数据写入至所提取的实体抹除单元中且将已写入使用者数据的实体抹除单元(以下也可参考为第一实体抹除单元)关联至数据区704。而当数据区704的实体抹除单元中的数据皆为无效数据时,此实体抹除单元会重新关联至闲置区702。也就是说,闲置区702中的实体抹除单元会不断轮替来用于写入使用者数据。
由于闲置区702中的实体抹除单元是轮替地来存储使用者数据,存储器管理电路502会配置逻辑单元LBA(0)~LBA(H)以映射数据区704的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体程序化单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。特别是,存储器管理电路502会从闲置区702中提取实体抹除单元来存储逻辑地址-实体地址映射表(logical address-physical addressmapping table)来记载逻辑单元与数据区的实体程序化单元的映射关系。而存储逻辑地址-实体地址映射表的实体抹除单元(以下也可参考为第二实体抹除单元)会被关联至表格区706。也就是说,当写入数据时,存储器管理电路502会将逻辑地址-实体地址映射表载入至缓冲存储器508来更新,并且再将更新后的逻辑地址-实体地址映射表存储至表格区706的实体抹除单元。类似地,而当表格区706的实体抹除单元中的数据皆为无效时,此实体抹除单元会重新关联至闲置区702。也就是说,闲置区702中的实体抹除单元会不断轮替来用于写入管理表数据。
值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器管理电路502会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址-实体地址映射表。特别是,当存储器管理电路502欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑地址-实体地址映射表会被载入至缓冲存储器508来被更新。
在本范例实施例中,存储器管理电路502会持续监控关联至数据区704的实体抹除单元的数目,并且倘若关联至数据区704的实体抹除单元的数目大于第一门槛值时,存储器管理电路502会对数据区704的实体抹除单元执行第一垃圾收集操作(也称为第一有效数据合并操作)。具体来说,存储器管理电路502会从数据区704中选择多个实体抹除单元(例如,实体抹除单元410(0)与实体抹除单元410(1)),将此些实体抹除单元上的有效数据复制到从闲置区702中提取的实体抹除单元410(F)(以下可参考为第三实体抹除单元)中,然后将数据区704中无存有有效数据的实体抹除单元重新关联至闲置区702。在本范例实施例中,第一门槛值为一固定值。例如,倘若在开卡时配置1000个实体抹除单元至闲置区702且保留980个实体抹除单元供写入使用者数据的例子中,第一门槛值会被设定为960。
在本范例实施例中,存储器管理电路502会持续监控关联至表格区706的实体抹除单元的数目,并且倘若关联至表格区706的实体抹除单元的数目大于第二门槛值时,存储器管理电路502会对表格区706的实体抹除单元执行第二垃圾收集操作(也称为第二有效数据合并操作)。具体来说,存储器管理电路502会从表格区706中选择多个实体抹除单元(例如,实体抹除单元410(T)与实体抹除单元410(T+1)),将此些实体抹除单元上的有效数据复制到从闲置区702中提取的实体抹除单元410(F+1)(以下可参考为第四实体抹除单元)中,然后将表格区706中无存有有效数据的实体抹除单元重新关联至闲置区702。在本范例实施例中,第二门槛值是小于第一门槛值且是根据数据区704的实体抹除单元的数目来动态调整,其中第二门槛值是随着数据区704的实体抹除单元的数目增加而减少并且不小于一预先定义值。例如,倘若在开卡时配置1000个实体抹除单元至闲置区702且保留20个实体抹除单元供写入管理表数据的例子中,第二门槛值会被初始设定为100且随着数据区704的实体抹除单元的数目增加而递减至上述预先定义值为止,其中预先定义值被设定为18。也就是说,在闲置区702原来有许多空的实体抹除单元的情况下,存储器管理电路502会暂时使用部分原保留给数据区704的实体抹除单元来存储管理表数据,并且在闲置区702的可用实体抹除单元减少下,再执行第二垃圾收集操作,将表格区706中无存有有效数据的实体抹除单元重新关联至闲置区702。特别是,由于管理表数据量较少,当执行第二垃圾收集操作,很快地就可从表格区706中找出无存有有效数据的实体抹除单元,而完成第二垃圾收集操作。
图8是根据一范例实施例所示出执行写入操作的示意图。
请参照图8,为方便说明,在此假设在开卡时存储器管理电路502配置1000个实体抹除单元至闲置区702,保留980个实体抹除单元供写入使用者数据,保留20个实体抹除单元供写入管理表数据,第一门槛值被固定地设定为960,第二门槛值被初始地设定为100,且第二门槛值的下限值(即上述预先定义值)被设定为18。
在开卡完成后,闲置区702有1000个实体抹除单元(如写入操作W801的空白处所示)。之后,主机系统11每次固定写入的数据(也称为使用者数据)的大小相当于100个实体抹除单元的容量,且需要使用20个实体抹除单元来存储对应使用者数据的管理表数据(例如,更新的逻辑地址-实体地址映射表)。如写入操作W802所示,存储器管理电路502会从闲置区502中选取100个实体抹除单元来写入使用者数据并选取20个实体抹除单元来写入管理表数据。由于数据区704的实体抹除单元(如斜线区域所示)的数目小于第一门槛值,所以无需执行第一垃圾收集操作。此外,由于表格区706的实体抹除单元(如网点区域所示)的数目小于第二门槛值,所以无需执行第二垃圾收集操作。写入操作W803~写入操作W806的操作情况与写入操作W802的情况相同,在此就不详述。
接着,主机系统11继续写入数据时,如写入操作W807所示,存储器管理电路502会再从闲置区702中选取100个实体抹除单元来写入使用者数据并选取20个实体抹除单元来写入管理表数据。由于数据区704的实体抹除单元(如斜线区域所示)的数目为600并非大于第一门槛值,所以无需执行第一垃圾收集操作。特别是,由于数据区704的实体抹除单元的数目已增加到600,因此,存储器管理电路502会将第二门槛值调整为80(即,限制表格区706的实体抹除单元的数目不得超过80)。而在调整第二门槛值后,由于表格区706的实体抹除单元的数目会大于第二门槛值,所以需执行第二垃圾收集操作,由此将表格区706中无有效数据的实体抹除单元重新关联至闲置区702。写入操作W808~写入操作W810的操作情况与写入操作W807的情况相同,在此就不详述。
接着,主机系统11继续写入数据时,如写入操作W811所示,存储器管理电路502会再从闲置区702中选取实体抹除单元来写入使用者数据并选取实体抹除单元来写入管理表数据。在写入使用者数据的过程中,数据区704的实体抹除单元的数目会大于第一门槛值,因此,需执行第一垃圾收集操作,以维持数据区704的实体抹除单元的数目不大于第一门槛值(即,960)。此外,由于数据区704的实体抹除单元的数目已达到上限(即,960),因此,存储器管理电路502会将第二门槛值调整为18(即,限制表格区706的实体抹除单元的数目不得超过18)。而在调整第二门槛值后,在写入管理表数据的过程中,由于表格区706的实体抹除单元的数目会大于第二门槛值,所以需执行第二垃圾收集操作,以维持表格区706的实体抹除单元的数目不大于第二门槛值(即,18)。
在上述范例中,第二门槛值的初始值会设定为开卡后闲置区702的实体抹除单元的数目的十分之一,而在数据区704的实体抹除单元的数目超过开卡后闲置区702的实体抹除单元的数目的二分之一之后,每当数据区704的实体抹除单元的数目增加初始的闲置区702的实体抹除单元的数目的十分之一时,第二门槛值会减少原初始值的百分之二十。然而,必须了解的是,此仅为一范例,本发明不限于此。
图9是根据一范例实施例所示出的存储器管理方法的流程图。
在步骤S901中,存储器管理电路502从主机系统11中接收使用者数据。
在步骤S903中,存储器管理电路502从闲置区702中选取一个实体抹除单元(以下参考为第一实体抹除单元),将使用者数据写入至第一实体抹除单元中,并且将第一实体抹除单元关联至数据区704。
在步骤S905中,存储器管理电路502判断数据区704的实体抹除单元的数目是否大于第一门槛值。在此第一门槛值为预设的固定值。
倘若数据区704的实体抹除单元的数目大于第一门槛值时,在步骤S907中,存储器管理电路502执行第一垃圾收集操作。
接着,在步骤S909中,存储器管理电路502会根据数据区704的实体抹除单元的数目调整第二门槛值。
接着,在步骤S911中,存储器管理电路502从闲置区702中选取一个实体抹除单元(以下参考为第二实体抹除单元),将对应的管理表数据写入至第二实体抹除单元中,并且将第二实体抹除单元关联至表格区706。
在步骤S913中,存储器管理电路502判断表格区706的实体抹除单元的数目是否大于第二门槛值。
倘若表格区706的实体抹除单元的数目大于第二门槛值时,在步骤S915中,存储器管理电路502执行第二垃圾收集操作。
综上所述,本发明范例实施例的存储器管理方法、存储器控制电路单元与存储器存储装置能够根据可复写式非易失性存储器模块的使用量来调整启动用于存储表格的实体抹除单元的垃圾收集操作,由此可以避免在可复写式非易失性存储器模块还有大量可用空间下,就开始执行垃圾收集操作,而影响存储器存储装置执行写入指的效能。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。

Claims (21)

1.一种存储器管理方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元至少被关联为数据区、闲置区或表格区,所述存储器管理方法包括:
在关联至所述数据区的实体抹除单元的数目大于第一门槛值时,执行对应所述数据区的第一垃圾收集操作;
在关联至所述表格区的实体抹除单元的数目大于第二门槛值时,执行对应所述表格区的第二垃圾收集操作;以及
依据关联至所述数据区的实体抹除单元的数目,动态地调整所述第二门槛值。
2.根据权利要求1所述的存储器管理方法,其中所述第二门槛值会随着所述数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
3.根据权利要求1所述的存储器管理方法,其中所述第二门槛值小于所述第一门槛值,其中所述第一门槛值为固定值。
4.根据权利要求1所述的存储器管理方法,还包括:
监控关联至所述数据区的实体抹除单元的数目是否大于所述第一门槛值;以及
监控关联至所述表格区的实体抹除单元的数目是否大于第二门槛值。
5.根据权利要求1所述的存储器管理方法,还包括:
从所述闲置区中选择第一实体抹除单元,将使用者数据写入至所述第一实体抹除单元并且将所述第一实体抹除单元关联至所述数据区;以及
从所述闲置区中选择第二实体抹除单元,将管理表数据写入至所述第二实体抹除单元并且将所述第二实体抹除单元关联至所述表格区。
6.根据权利要求5所述的存储器管理方法,其中执行对应所述数据区的所述第一垃圾收集操作的步骤包括:
从所述闲置区中选择第三实体抹除单元,将所述数据区的至少两个实体抹除单元上的所有有效数据复制到所述第三实体抹除单元中,将所述数据区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第三实体抹除单元关联至所述数据区。
7.根据权利要求6所述的存储器管理方法,其中执行对应所述表格区的所述第二垃圾收集操作的步骤包括:
从所述闲置区中选择第四实体抹除单元,将所述表格区的至少两个实体抹除单元上的所有有效数据复制到所述第四实体抹除单元中,将所述表格区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第四实体抹除单元关联至所述表格区。
8.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口;
其中所述存储器管理电路用以将所述多个实体抹除单元至少关联为数据区、闲置区或表格区;
其中所述存储器管理电路还用以在关联至所述数据区的实体抹除单元的数目大于第一门槛值时,执行对应所述数据区的第一垃圾收集操作;
其中所述存储器管理电路还用以在关联至所述表格区的实体抹除单元的数目大于第二门槛值时,执行对应所述表格区的第二垃圾收集操作;
其中所述存储器管理电路还用以依据关联至所述数据区的实体抹除单元的数目,动态地调整所述第二门槛值。
9.根据权利要求8所述的存储器控制电路单元,其中所述第二门槛值会随着所述数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
10.根据权利要求8所述的存储器控制电路单元,其中所述第二门槛值小于所述第一门槛值,其中所述第一门槛值为固定值。
11.根据权利要求8所述的存储器控制电路单元,
其中所述存储器管理电路还用以监控关联至所述数据区的实体抹除单元的数目是否大于所述第一门槛值,以及监控关联至所述表格区的实体抹除单元的数目是否大于第二门槛值。
12.根据权利要求8所述的存储器控制电路单元,
其中所述存储器管理电路还用以从所述闲置区中选择第一实体抹除单元,下达指令序列以将使用者数据写入至所述第一实体抹除单元并且将所述第一实体抹除单元关联至所述数据区;
其中所述存储器管理电路还用以从所述闲置区中选择第二实体抹除单元,下达另一指令序列以将管理表数据写入至所述第二实体抹除单元并且将所述第二实体抹除单元关联至所述表格区。
13.根据权利要求12所述的存储器控制电路单元,其中在执行对应所述数据区的所述第一垃圾收集操作的运作中,所述存储器管理电路从所述闲置区中选择第三实体抹除单元,将所述数据区的至少两个实体抹除单元上的所有有效数据复制到所述第三实体抹除单元中,将所述数据区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第三实体抹除单元关联至所述数据区。
14.根据权利要求13所述的存储器控制电路单元,其中在执行对应所述表格区的所述第二垃圾收集操作的运作中,所述存储器管理电路从所述闲置区中选择第四实体抹除单元,将所述表格区的至少两个实体抹除单元上的所有有效数据复制到所述第四实体抹除单元中,将所述表格区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第四实体抹除单元关联至所述表格区。
15.一种存储器存储装置,包括:
连接器,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接器与所述可复写式非易失性存储器模块;
其中所述存储器控制电路单元用以将所述多个实体抹除单元至少关联为数据区、闲置区或表格区;
其中所述存储器控制电路单元还用以在关联至所述数据区的实体抹除单元的数目大于第一门槛值时,执行对应所述数据区的第一垃圾收集操作;
其中所述存储器控制电路单元还用以在关联至所述表格区的实体抹除单元的数目大于第二门槛值时,执行对应所述表格区的第二垃圾收集操作;
其中所述存储器控制电路单元还用以依据关联至所述数据区的实体抹除单元的数目,动态地调整所述第二门槛值,。
16.根据权利要求15所述的存储器存储装置,其中所述第二门槛值会随着所述数据区的实体抹除单元的数目增加而减少并且不小于预先定义值。
17.根据权利要求15所述的存储器存储装置,其中所述第二门槛值小于所述第一门槛值,其中所述第一门槛值为固定值。
18.根据权利要求15所述的存储器存储装置,
其中所述存储器控制电路单元还用以监控关联至所述数据区的实体抹除单元的数目是否大于所述第一门槛值,以及监控关联至所述表格区的实体抹除单元的数目是否大于第二门槛值。
19.根据权利要求15所述的存储器存储装置,
其中所述存储器控制电路单元还用以从所述闲置区中选择第一实体抹除单元,将使用者数据写入至所述第一实体抹除单元并且将所述第一实体抹除单元关联至所述数据区;
其中所述存储器控制电路单元还用以从所述闲置区中选择第二实体抹除单元,将管理表数据写入至所述第二实体抹除单元并且将所述第二实体抹除单元关联至所述表格区。
20.根据权利要求19所述的存储器存储装置,其中在执行对应所述数据区的所述第一垃圾收集操作的运作中,所述存储器控制电路单元从所述闲置区中选择第三实体抹除单元,将所述数据区的至少两个实体抹除单元上的所有有效数据复制到所述第三实体抹除单元中,将所述数据区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第三实体抹除单元关联至所述数据区。
21.根据权利要求20所述的存储器存储装置,其中在执行对应所述表格区的所述第二垃圾收集操作的运作中,所述存储器控制电路单元从所述闲置区中选择第四实体抹除单元,将所述表格区的至少两个实体抹除单元上的所有有效数据复制到所述第四实体抹除单元中,将所述表格区的所述至少两个实体抹除单元重新关联至所述闲置区,将所述第四实体抹除单元关联至所述表格区。
CN201710839090.7A 2017-09-18 2017-09-18 存储器管理方法、存储器控制电路单元与存储器存储装置 Active CN109522236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710839090.7A CN109522236B (zh) 2017-09-18 2017-09-18 存储器管理方法、存储器控制电路单元与存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710839090.7A CN109522236B (zh) 2017-09-18 2017-09-18 存储器管理方法、存储器控制电路单元与存储器存储装置

Publications (2)

Publication Number Publication Date
CN109522236A true CN109522236A (zh) 2019-03-26
CN109522236B CN109522236B (zh) 2022-10-21

Family

ID=65768232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710839090.7A Active CN109522236B (zh) 2017-09-18 2017-09-18 存储器管理方法、存储器控制电路单元与存储器存储装置

Country Status (1)

Country Link
CN (1) CN109522236B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858389A (zh) * 2019-04-30 2020-10-30 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134887A1 (en) * 2013-11-14 2015-05-14 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus
CN104679437A (zh) * 2013-11-27 2015-06-03 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN104793891A (zh) * 2014-01-17 2015-07-22 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
CN106959818A (zh) * 2016-01-11 2017-07-18 群联电子股份有限公司 数据写入方法、内存控制电路单元与内存储存装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134887A1 (en) * 2013-11-14 2015-05-14 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus
CN104679437A (zh) * 2013-11-27 2015-06-03 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN104793891A (zh) * 2014-01-17 2015-07-22 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
CN106959818A (zh) * 2016-01-11 2017-07-18 群联电子股份有限公司 数据写入方法、内存控制电路单元与内存储存装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858389A (zh) * 2019-04-30 2020-10-30 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
CN111858389B (zh) * 2019-04-30 2023-07-04 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置

Also Published As

Publication number Publication date
CN109522236B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN104679437B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106681654A (zh) 映射表载入方法与存储器存储装置
TWI615711B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN106708416B (zh) 数据重建方法与系统及其存储器控制电路单元
CN107402716A (zh) 数据写入方法、内存控制电路单元与内存储存装置
TW201945927A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TW201348960A (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TW201913383A (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN107544922A (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
TWI644210B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI517165B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN109273033A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106959818A (zh) 数据写入方法、内存控制电路单元与内存储存装置
CN107045890A (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
TWI642059B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN104166558B (zh) 固件码载入方法、存储器控制器与存储器存储装置
CN106648443B (zh) 有效数据合并方法、存储器控制器与存储器存储装置
CN107102951B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN105335096B (zh) 数据管理方法、存储器控制电路单元以及存储器存储装置
CN105630687B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN110442299A (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
CN107103930A (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