CN111258505B - 快闪存储器的数据合并方法、控制电路单元与存储装置 - Google Patents

快闪存储器的数据合并方法、控制电路单元与存储装置 Download PDF

Info

Publication number
CN111258505B
CN111258505B CN202010070048.5A CN202010070048A CN111258505B CN 111258505 B CN111258505 B CN 111258505B CN 202010070048 A CN202010070048 A CN 202010070048A CN 111258505 B CN111258505 B CN 111258505B
Authority
CN
China
Prior art keywords
effective data
memory
unit
physical
module
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
Application number
CN202010070048.5A
Other languages
English (en)
Other versions
CN111258505A (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.)
Hefei Core Storage Electronic Ltd
Original Assignee
Hefei Core Storage Electronic Ltd
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 Hefei Core Storage Electronic Ltd filed Critical Hefei Core Storage Electronic Ltd
Priority to CN202010070048.5A priority Critical patent/CN111258505B/zh
Priority to US16/822,023 priority patent/US11175847B2/en
Publication of CN111258505A publication Critical patent/CN111258505A/zh
Application granted granted Critical
Publication of CN111258505B publication Critical patent/CN111258505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0647Migration mechanisms
    • 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
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • 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
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种快闪存储器的数据合并方法、快闪存储器控制电路单元与快闪存储器存储装置,本方法可应用于立体(3D)结构的快闪存储器、嵌入式存储器装置或固态硬盘。所述方法包括:根据至少一第一实体抹除单元的有效数据量以及每一多个存储器子模块的有效数据量,从第一实体抹除单元中选择至少一来源实体抹除单元;以及复制来源实体抹除单元中的有效数据至至少一目的实体抹除单元以执行有效数据合并操作。

Description

快闪存储器的数据合并方法、控制电路单元与存储装置
技术领域
本发明涉及一种快闪存储器的数据合并方法、快闪存储器控制电路单元与快闪存储器存储装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块具有多个实体抹除单元,并且存储器管理电路会逻辑地分割为多个区域。此些区域中通常会包括数据区与闲置区。当从主机***接收到写入指令与欲写入的数据时,存储器管理电路会从闲置区中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区的实体抹除单元。当可复写式非易失性存储器模块的闲置区中闲置的实体抹除单元的个数为非大于一预先定义值时,存储器管理电路会执行一有效数据合并操作。例如,存储器管理电路会从数据区中挑选有效数据最少的多个实体抹除单元(亦称为,来源实体抹除单元),并从此些来源实体抹除单元中复制有效数据至闲置区中的一实体抹除单元(亦称为,目的实体抹除单元)。之后,存储器管理电路会将前述的来源实体抹除单元执行抹除操作并重新将该些来源实体抹除单元关联置闲置区中以增加闲置区中实体抹除单元的数量。此外,存储器管理电路还会将前述的目的实体抹除单元关连至数据区。
然而,可复写式非易失性存储器模块通常是由多个存储器子模块所组成,且每一个存储器子模块会包括多个实体抹除单元。以可复写式非易失性存储器模包括四个存储器子模块且来源实体抹除单元总共有八个为例,当在执行有效数据合并操作时,若来源实体抹除单元中有五个实体抹除单元分布在一存储器子模块,而剩余的三个来源实体抹除单元是平均分布在其他的存储器子模块中(即,每一个其他的存储器子模块包括一个来源实体抹除单元)。当上述存储器子模块平行地运作以搬移来源实体抹除单元中的数据时,相对于上述其他的存储器子模块来说,具有五个来源实体抹除单元的存储器子模块需要花费较多的时间。也就是说,其他的存储器子模块需等待该具有五个来源实体抹除单元的存储器子模块完成数据的搬移,而此情况会造成有效数据合并操作在执行时的效能低落。若来源实体抹除单元是平均地分布在多个存储器子模块中时,基于存储器子模块平行地运作的原理,在执行有效数据合并操作时可以达到最佳的效率。
因此,如何让来源实体抹除单元平均地分布在可复写式非易失性存储器模块的多个存储器子模块中以提升有效数据合并操作的执行效率,是本领域技术人员所欲解决的问题之一。
发明内容
本发明提供一种快闪存储器的数据合并方法、快闪存储器控制电路单元与快闪存储器存储装置,可以提升有效数据合并操作的执行效率。
本发明提出一种快闪存储器的数据合并方法,用于一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元,所述方法包括:根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量以及每一所述多个存储器子模块的有效数据量,从所述第一实体抹除单元中选择至少一来源实体抹除单元;以及复制所述来源实体抹除单元中的有效数据至所述多个实体抹除单元中的至少一目的实体抹除单元以执行一有效数据合并操作。
在本发明的一实施例中,从所述第一实体抹除单元中选择所述来源实体抹除单元的步骤包括:根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的一参考数值;以及将所述第一实体抹除单元中所述参考数值小于一门坎值的至少一第二实体抹除单元识别为所述来源实体抹除单元。
在本发明的一实施例中,根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,计算每一所述第一实体抹除单元的所述参考数值的步骤包括:将所述第一实体抹除单元中的一第三实体抹除单元的有效数据量乘上一第一权重以获得一第一数值;将所述第三实体抹除单元中的有效数据的冷热程度乘上一第二权重以获得一第二数值;将每一所述多个存储器子模块的有效数据量的总和乘上一第三权重以获得一第三数值;以及将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值。
在本发明的一实施例中,所述多个存储器子模块包括一第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,所述方法还包括:将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得一第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的一第一平均有效数据量;将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的一第二平均有效数据量;以及将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
在本发明的一实施例中,所述其他来源实体抹除单元组成一来源池(sourcepool),其中执行所述有效数据合并操作的步骤之前,所述方法还包括:将所述来源实体抹除单元加入所述来源池中。
本发明提出一种快闪存储器控制电路单元,用于控制一可复写式非易失性存储器模块,所述快闪存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机***。存储器接口用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元。存储器管理电路电性连接至所述主机接口以及所述存储器接口,并用以执行下述运作:根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量以及每一所述多个存储器子模块的有效数据量,从所述第一实体抹除单元中选择至少一来源实体抹除单元;以及复制所述来源实体抹除单元中的有效数据至所述多个实体抹除单元中的至少一目的实体抹除单元以执行一有效数据合并操作。
在本发明的一实施例中,在从所述第一实体抹除单元中选择所述来源实体抹除单元的运作中,所述存储器管理电路更用以执行下述运作:根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的一参考数值;以及将所述第一实体抹除单元中所述参考数值小于一门坎值的至少一第二实体抹除单元识别为所述来源实体抹除单元。
在本发明的一实施例中,在根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,计算每一所述第一实体抹除单元的所述参考数值的运作中,所述存储器管理电路更用以执行下述运作:将所述第一实体抹除单元中的一第三实体抹除单元的有效数据量乘上一第一权重以获得一第一数值;将所述第三实体抹除单元中的有效数据的冷热程度乘上一第二权重以获得一第二数值;将每一所述多个存储器子模块的有效数据量的总和乘上一第三权重以获得一第三数值;以及将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值。
在本发明的一实施例中,所述多个存储器子模块包括一第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,所述存储器管理电路更用以执行下述运作:将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得一第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的一第一平均有效数据量;将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的一第二平均有效数据量;以及将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
在本发明的一实施例中,所述其他来源实体抹除单元组成一来源池(sourcepool),其中在执行所述有效数据合并操作的运作之前,所述存储器管理电路更用以将所述来源实体抹除单元加入所述来源池中。
本发明提出一种快闪存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块以及快闪存储器控制电路单元。连接接口单元用以电性连接至一主机***。所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元。快闪存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块并用以执行下述运作:根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量以及每一所述多个存储器子模块的有效数据量,从所述第一实体抹除单元中选择至少一来源实体抹除单元;以及复制所述来源实体抹除单元中的有效数据至所述多个实体抹除单元中的至少一目的实体抹除单元以执行一有效数据合并操作。
在本发明的一实施例中,在从所述第一实体抹除单元中选择所述来源实体抹除单元的运作中,快闪存储器控制电路单元更用以执行下述运作:根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的一参考数值;以及将所述第一实体抹除单元中所述参考数值小于一门坎值的至少一第二实体抹除单元识别为所述来源实体抹除单元。
在本发明的一实施例中,在根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,计算每一所述第一实体抹除单元的所述参考数值的运作中,快闪存储器控制电路单元更用以执行下述运作:将所述第一实体抹除单元中的一第三实体抹除单元的有效数据量乘上一第一权重以获得一第一数值;将所述第三实体抹除单元中的有效数据的冷热程度乘上一第二权重以获得一第二数值;将每一所述多个存储器子模块的有效数据量的总和乘上一第三权重以获得一第三数值;以及将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值。
在本发明的一实施例中,所述多个存储器子模块包括一第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,其中快闪存储器控制电路单元更用以执行下述运作:将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得一第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的一第一平均有效数据量;将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的一第二平均有效数据量;以及将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
在本发明的一实施例中,所述其他来源实体抹除单元组成一来源池(sourcepool),其中在执行所述有效数据合并操作的运作之前,所述快闪存储器控制电路单元更用以将所述来源实体抹除单元加入所述来源池中。
基于上述,本发明的快闪存储器的数据合并方法、快闪存储器控制电路单元与快闪存储器存储装置可以让用于执行有效数据合并操作的来源实体抹除单元平均地分布在可复写式非易失性存储器模块的多个存储器子模块中以提升有效数据合并操作的执行效率。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1是根据本发明的一范例实施例所示出的主机***、快闪存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机***、快闪存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机***与快闪存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的快闪存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的快闪存储器控制电路单元的概要方块图;
图6是根据本发明一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图7A是根据本发明一范例实施例所示出的识别用于执行有效数据合并操作的来源实体抹除单元的示意图;
图7B至图7C是根据本发明一范例实施例所示出的存储器子模块是否处于忙碌状态的示意图;
图8是根据本发明一范例实施例所示出的快闪存储器的数据合并方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
一般而言,快闪存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常快闪存储器存储装置是与主机***一起使用,以使主机***可将数据写入至快闪存储器存储装置或从快闪存储器存储装置中读取数据。
图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可例如是近距离无线通信(NearField Communication,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可为其所使用的安全数字(Secure Digital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性快闪存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi Media Card,eMMC)341和/或嵌入式多芯片封装(embedded Multi ChipPackage,eMCP)存储装置342等各类型将存储器模块直接电性连接于主机***的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的快闪存储器存储装置的概要方块图。
请参照图4,快闪存储器存储装置10包括连接接口单元402、快闪存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将快闪存储器存储装置10电性连接至主机***11。在本范例实施例中,连接接口单元402是符合高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准,且兼容于快速非易失性存储器(NVM express)接口标准。具体而言,快速非易失性存储器接口标准为一种主机***与存储器装置之间通讯的协议,其定义了快闪存储器存储装置的控制器与主机***的操作***之间的缓存器接口、指令集与功能集,并通过对快闪存储器存储装置的接口标准优化,来促进以PCIe接口为主的快闪存储器存储装置的数据访问速度与数据传输速率。然而,在另一范例实施例中,连接接口单元402亦可以是符合其他适合的标准。此外,连接接口单元402可与快闪存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含快闪存储器控制电路单元404的芯片外。
快闪存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机***11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至快闪存储器控制电路单元404并且用以存储主机***11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位的快闪存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个位。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个位。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字符在线的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位,则同一条字符在线的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据位区与冗余(redundancy)位区。数据位区包含多个实体扇,用以存储用户数据,而冗余位区用以存储***数据(例如,错误更正码等管理数据)。在本范例实施例中,数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的快闪存储器控制电路单元的概要方块图。
请参照图5,快闪存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制快闪存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在快闪存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明快闪存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当快闪存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当快闪存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序代码或脚本并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是电性连接至存储器管理电路502并且用以接收与识别主机***11所传送的指令与数据。也就是说,主机***11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于PCI Express标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是兼容于PATA标准、IEEE 1394标准、SATA标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括脚本或程序代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,快闪存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是电性连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机***11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机***11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是电性连接至存储器管理电路502并且用以控制快闪存储器存储装置10的电源。
图6是根据本发明一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。
请参照图6,可复写式非易失性存储器模块406包括第一存储器子模块310、第二存储器子模块320、第三存储器子模块330与第四存储器子模块340。例如,第一、第二、第三与第四存储器子模块310、320、330与340分别地为存储器晶粒(die)。第一存储器子模块310具有实体抹除单元410(0)~410(N)。第二存储器子模块320具有实体抹除单元420(0)~420(N)。第三存储器子模块330具有实体抹除单元430(0)~430(N)。第四存储器子模块340具有实体抹除单元440(0)~440(N)。
例如,第一、第二、第三与第四存储器子模块310、320、330与340是分别地通过独立的数据总线316、326、336与346电性连接至快闪存储器控制电路单元404。基此,存储器管理电路502可以平行(parallel)方式将数据通过数据总线316、326、336与346写入至第一、第二、第三与第四存储器子模块310、320、330与340。
然而,必须了解的是,在本发明另一范例实施例中,第一、第二、第三与第四存储器子模块310、320、330与340亦可仅通过1个数据总线与快闪存储器控制电路单元404电性连接。在此,存储器管理电路502可以交错(interleave)方式将数据通过单一数据总线写入至第一、第二、第三与第四存储器子模块310、320、330与340。
特别是,第一、第二、第三与第四存储器子模块310、320、330与340可以分别包括多条字符线,而同一条字符在线的多个存储单元会形成多个实体页面,同一条字符线的多个实体页面可以称为实体页面组。第一、第二、第三与第四存储器子模块310、320、330与340的每一实体抹除单元分别具有复数个实体页面,其中属于同一个实体抹除单元的实体页面可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体页面所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是扇区(Sector)或其他大小。每一实体页面通常包括数据位区与冗余位区。数据位区用以存储用户的数据,而冗余位区用以存储***的数据(例如,错误检查与校正码)。需注意的是,在另一范例实施例中,一个实体抹除单元亦可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。
值得一提的是,虽然本发明范例实施例是以包括四个存储器子模块的可复写式非易失性存储器模块406为例来描述。但本发明不限于此,在其他的实施例中,可复写式非易失性存储器模块406也可以包含二、六、八或十个存储器子模块。
在此,假设存储器管理电路502将可复写式非易失性存储器模块406中的实体抹除单元逻辑上至少被区分为数据区与闲置区。逻辑上属于数据区与闲置区的实体抹除单元是用以存储来自于主机***11的数据。具体来说,数据区的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区的实体抹除单元是用以替换数据区的实体抹除单元。也就是说,当从主机***11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区的实体抹除单元。
特别是,数据区与闲置区的实体抹除单元的数量会依据不同的存储器规格而有所不同。必须了解的是,在快闪存储器存储装置10的运作中,实体抹除单元关联至数据区与闲置区的分组关系会动态地变动。此外,虽然本实施例是描述可复写式非易失性存储器模块406包括数据区与闲置区,但在其他实施例中,可复写式非易失性存储器模块406也可以包括其他的区域。
当可复写式非易失性存储器模块406的闲置区中闲置的实体抹除单元的个数为非大于一预先定义值时,存储器管理电路502会执行一有效数据合并操作。例如,存储器管理电路502会执行本发明快闪存储器的数据合并方法以从数据区的实体抹除单元(亦称为,第一实体抹除单元)中挑选用于执行之后的有效数据合并操作的来源实体抹除单元。在本实施例中,假设存储器管理电路502会维护一个来源池(source pool),此来源池中会包括已挑选出可用于执行有效数据合并操作的来源实体抹除单元(以下称为,其他来源实体抹除单元),而此些来源实体抹除单元尚未被用来执行有效数据合并操作。
以下实施例说明本发明如何挑选来源实体抹除单元。首先,存储器管理电路502会根据上述第一实体抹除单元中每一个实体抹除单元的有效数据量、上述第一实体抹除单元中每一个实体抹除单元的有效数据的冷热程度以及每一个存储器子模块所具有的有效数据量,计算第一实体抹除单元中每一个实体抹除单元的参考数值。
例如,存储器管理电路502可以存取一逻辑地址-实体地址映射表,此逻辑地址-实体地址映射表用以记录目前可复写式非易失性存储器模块406中的每一个有效数据是存储在哪一个实体抹除单元中。存储器管理电路502可以从逻辑地址-实体地址映射表得知一个实体抹除单元中存储了哪些逻辑地址的有效数据,进而得知一个实体抹除单元的有效数据量。然而,如何获得一实体抹除单元的有效数据量也可以由其他的习知技术所得知,在此不再赘述。
此外,存储器管理电路502可以存取一冷热程度记录表,此冷热程度记录表用以记录一逻辑地址的数据被存取的次数。在存储器管理电路502从逻辑地址-实体地址映射表得知一个实体抹除单元中存储了哪些逻辑地址的有效数据后,存储器管理电路502可以存取冷热程度记录表以计算该实体抹除单元中的有效数据被存取的次数(或频率)的总和,进而得知该实体抹除单元的有效数据的冷热程度。然而,如何获得一实体抹除单元的有效数据的冷热程度也可以由其他的习知技术所得知,在此不再赘述。
而如何获得一个存储器子模块所具有的有效数据量请容后详述。
以下以计算某一个实体抹除单元(以下称为,第三实体抹除单元)的参考数值为例进行说明。相类似地方式可以应用在其他的实体抹除单元。存储器管理电路502可以通过下述公式(1)来获得第三实体抹除单元的参考数值:
/>
其中,K代表第三实体抹除单元的参考数值。X为第三实体抹除单元的有效数据量,k1为一权重值(亦称为,第一权重)。Y为第三实体抹除单元中数据的冷热程度,k2为一权重值(亦称为,第二权重)。此外,N[CE]代表第CE个存储器子模块的有效数据量,而代表所有的存储器子模块(即,存储器子模块310~340)的有效数据量的总和,k3为一权重值(亦称为,第三权重)。
以下将第三实体抹除单元的有效数据量(即,X)与第一权重(即,k1)的乘积称为“第一数值”;将第三实体抹除单元的冷热程度(即,Y)与第二权重(即,k2)的乘积称为“第二数值”;将存储器子模块310~340的有效数据量的总和(即,)与第三权重(即,k3)的乘积称为“第三数值”。而存储器管理电路502会将第一数值、第二数值以及第三数值的总和(即,K)识别为前述第三实体抹除单元的参考数值。
以下说明如何计算一个存储器子模块所具有的有效数据量。接续前述范例,在计算第三实体抹除单元的参考数值的过程中,存储器管理电路502可以参考下述公式(2)计算每一个存储器子模块的有效数据量。以计算第一存储器子模块310所具有的有效数据量N[CE]为例,请参考下述公式(2):
在此需说明的是,在计算第三实体抹除单元的参考数值的过程中,存储器管理电路502会先假定第三实体抹除单元已加入前述的资源池中。而Ni[CE]代表已加入第三实体抹除单元的资源池中第i个来源实体抹除单元在第一存储器子模块310中的有效数据量,而则代表资源池中所有的来源实体抹除单元在第一存储器子模块310中的有效数据量。换句话说,/>代表尚未加入第三实体抹除单元的资源池中的来源实体抹除单元(即,前述的“其他来源实体抹除单元”)在第一存储器子模块310中的有效数据量的总和加上第三实体抹除单元在第一存储器子模块310中的有效数据量。在此将/>的数值称为“第四数值”。此外,n代表前述“其他来源实体抹除单元”的数量。存储器管理电路502会将前述第四数值除以“其他来源实体抹除单元”的数量(即,n)以获得第一存储器子模块310的平均有效数据量(亦称为,第一平均有效数据量)。
此外,在公式(2)中,Ni代表尚未加入第三实体抹除单元的资源池中第i个其他来源实体抹除单元的有效数据量,而代表尚未加入第三实体抹除单元的资源池中的其他来源实体抹除单元的有效数据量的总和。n代表前述其他来源实体抹除单元的数量。ce_cnt代表可复写式非易失性存储器模块406中存储器子模块310~340的数量。存储器管理电路502会将前述其他来源实体抹除单元的有效数据量的总和(即,/>)除以其他来源实体抹除单元的数量(即,n)与存储器子模块的数量(即,ce_cnt)的乘积以获得存储器子模块310~340的平均有效数据量(亦称为,第二平均有效数据量)。
之后,存储器管理电路502可以将前述第一平均有效数据量(即,)与第二平均有效数据量(即,/>)的差值取平方以获得代表第一存储器子模块310的有效数据量N[CE]。/>
通过上述方式,可以计算出第一实体抹除单元中每一个实体抹除单元的参考数值,进而根据此些参考数值从第一实体抹除单元中选择来源实体抹除单元。
例如,存储器管理电路502会将第一实体抹除单元中参考数值小于一门坎值的实体抹除单元(亦称为,第二实体抹除单元)识别为可用于执行有效数据合并操作的来源实体抹除单元,并将此来源实体抹除单元加入来源池中。之后,当要执行有效数据合并操作时,存储器管理电路502会从来源池中选择一来源实体抹除单元,并且复制所选择的来源实体抹除单元中的有效数据至某一个实体抹除单元(亦称为,目的实体抹除单元)以执行有效数据合并操作。
图7A是根据本发明一范例实施例所示出的识别用于执行有效数据合并操作的来源实体抹除单元的示意图。图7B至图7C是根据本发明一范例实施例所示出的存储器子模块是否处于忙碌状态的示意图。
请参照图7A,以图7A的范例来说,假设目前有四个实体抹除单元700~705被用来判断是否作为用于执行有效数据合并操作的来源实体抹除单元。假设实体抹除单元700的有效数据量为30(即,valid cnt=30),实体抹除单元701的有效数据量为30(即,valid cnt=30),实体抹除单元703的有效数据量为32(即,valid cnt=32),实体抹除单元705的有效数据量为32(即,valid cnt=32)。为了方便说明,在本范例中,假设实体抹除单元700~705中的每一个实体抹除单元的数据会可以分别分布于不同的存储器子模块310~340中。其中,针对图7A至图7C中每个实体抹除单元的每个存储器子模块中绘制为灰色的部份为有效数据。
以一般习知的方法来说,存储器管理电路502会选择有效数据量最小的至少一个实体抹除单元作为用于执行有效数据合并操作的来源实体抹除单元。在此范例中,若使用一般习知的方法,存储器管理电路502例如会选择有效数据量最小的实体抹除单元700~701作为用于执行有效数据合并操作的来源实体抹除单元。然而由图7A至图7C可看出,实体抹除单元700~701中的有效数据大部分是位于存储器子模块310中。因此,当使用实体抹除单元700~701在执行有效数据合并操作时,存储器子模块320~340需等待存储器子模块310的运作完成,此情况会造成有效数据合并操作执行的效率低落。例如,请参照图7B,假设图7B中低电位代表“忙碌状态”,高电位代表“闲置状态”。在上述的范例中执行有效数据合并操作时,由于存储器子模块310中需要被搬移的数据较多,因此当存储器子模块320~340从忙碌状态返回闲置状态后,存储器子模块320~340仍需被迫花大量的时间等待存储器子模块310完成数据的搬移(即,等待存储器子模块310的忙碌状态),此情况会造成有效数据合并操作执行的效率低落。
然而,由于本发明会参考存储器子模块310~340中的有效数据量来选择来源实体抹除单元,存储器管理电路502会选择实体抹除单元700与实体抹除单元703作为用于执行有效数据合并操作的来源实体抹除单元。特别是,而由图7A可看出,实体抹除单元700与实体抹除单元703位于存储器子模块310中的有效数据量的总和会相近于实体抹除单元700与实体抹除单元703位于存储器子模块320中的有效数据量的总和、实体抹除单元700与实体抹除单元703位于存储器子模块330中的有效数据量的总和以及实体抹除单元700与实体抹除单元703位于存储器子模块340中的有效数据量总和。因此,当使用实体抹除单元700与实体抹除单元703在执行有效数据合并操作时,可以避免多个存储器子模块长时间等待另一存储器子模块运作完成,进而提升有效数据合并操作的执行效率。例如,请参照图7C,类似于图7B,图7C中的低电位代表“忙碌状态”,高电位代表“闲置状态”。在上述的范例中,由于存储器子模块310~340中的每一个存储器子模块所需搬移的数据量较为接近,因此存储器子模块310~340会在相近的时间从忙碌状态返回闲置状态。由图7C可知,本发明的快闪存储器的数据合并方法可以避免多个存储器子模块长时间等待另一存储器子模块运作完成。
图8是根据本发明一范例实施例所示出的快闪存储器的数据合并方法的流程图。
请参照图8,在步骤S801中,存储器管理电路502根据第一实体抹除单元的有效数据量以及每一个存储器子模块的有效数据量,从第一实体抹除单元中选择来源实体抹除单元。之后在步骤S803中,存储器管理电路502复制来源实体抹除单元中的有效数据至目的实体抹除单元以执行有效数据合并操作。
综上所述,本发明的快闪存储器的数据合并方法、快闪存储器控制电路单元与快闪存储器存储装置可以让用于执行有效数据合并操作的来源实体抹除单元平均地分布在可复写式非易失性存储器模块的多个存储器子模块中以提升有效数据合并操作的执行效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种快闪存储器的数据合并方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元,其特征在于,所述方法包括:
根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的参考数值;
将所述第一实体抹除单元中所述参考数值小于门坎值的至少一第二实体抹除单元识别为至少一来源实体抹除单元;
复制所述至少一来源实体抹除单元中的有效数据至从所述多个实体抹除单元中选择的至少一目的实体抹除单元以执行一有效数据合并操作;
其中,根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的所述参考数值的步骤包括:
将所述第一实体抹除单元中的第三实体抹除单元的有效数据量乘上第一权重以获得第一数值;
将所述第三实体抹除单元中的有效数据的冷热程度乘上第二权重以获得第二数值;
将每一所述多个存储器子模块的有效数据量的总和乘上第三权重以获得第三数值;以及
将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值,
其中,所述多个存储器子模块包括第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,所述方法还包括:
将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的第一平均有效数据量;
将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的第二平均有效数据量;以及
将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
2.根据权利要求1所述的快闪存储器的数据合并方法,其特征在于,所述其他来源实体抹除单元组成来源池,其中执行所述有效数据合并操作的步骤之前,所述方法还包括:
将所述来源实体抹除单元加入所述来源池中。
3.一种快闪存储器控制电路单元,用于控制可复写式非易失性存储器模块,其特征在于,所述快闪存储器控制电路单元包括:
主机接口,用以电性连接至主机***;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元;
存储器管理电路,电性连接至所述主机接口以及所述存储器接口,
其中所述存储器管理电路用以根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的参考数值,
其中所述存储器管理电路用以将所述第一实体抹除单元中所述参考数值小于门坎值的至少一第二实体抹除单元识别为至少一来源实体抹除单元,
其中所述存储器管理电路还用以复制所述至少一来源实体抹除单元中的有效数据至从所述多个实体抹除单元中选择的至少一目的实体抹除单元以执行有效数据合并操作,
其中,在根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的所述参考数值的运作中包括:
所述存储器管理电路还用以将所述第一实体抹除单元中的第三实体抹除单元的有效数据量乘上第一权重以获得第一数值,
所述存储器管理电路还用以将所述第三实体抹除单元中的有效数据的冷热程度乘上第二权重以获得第二数值,
所述存储器管理电路还用以将每一所述多个存储器子模块的有效数据量的总和乘上第三权重以获得第三数值,
所述存储器管理电路还用以将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值,
其中,所述多个存储器子模块包括第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,其中
所述存储器管理电路还用以将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的第一平均有效数据量,
所述存储器管理电路还用以将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的第二平均有效数据量,以及
所述存储器管理电路还用以将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
4.根据权利要求3所述的快闪存储器控制电路单元,其特征在于,所述其他来源实体抹除单元组成来源池,其中在执行所述有效数据合并操作的运作之前,
所述存储器管理电路还用以将所述来源实体抹除单元加入所述来源池中。
5.一种快闪存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机***;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器子模块,每一所述多个存储器子模块包括多个实体抹除单元;以及
快闪存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述快闪存储器控制电路单元用以根据所述多个实体抹除单元中的至少一第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,产生每一所述第一实体抹除单元的参考数值,
其中所述快闪存储器控制电路单元还用以将所述第一实体抹除单元中所述参考数值小于门坎值的至少一第二实体抹除单元识别为至少一来源实体抹除单元,
其中所述快闪存储器控制电路单元还用以复制所述至少一来源实体抹除单元中的有效数据至从所述多个实体抹除单元中选择的至少一目的实体抹除单元以执行有效数据合并操作,
其中,在根据所述第一实体抹除单元的有效数据量、所述第一实体抹除单元中的有效数据的冷热程度以及每一所述多个存储器子模块的有效数据量,计算每一所述第一实体抹除单元的所述参考数值的运作中,
所述快闪存储器控制电路单元还用以将所述第一实体抹除单元中的第三实体抹除单元的有效数据量乘上第一权重以获得第一数值,
所述快闪存储器控制电路单元还用以将所述第三实体抹除单元中的有效数据的冷热程度乘上第二权重以获得第二数值,
所述快闪存储器控制电路单元还用以将每一所述多个存储器子模块的有效数据量的总和乘上第三权重以获得第三数值,
所述快闪存储器控制电路单元还用以将所述第一数值、所述第二数值以及所述第三数值的总和识别为所述第三实体抹除单元的所述参考数值,
其中,所述多个存储器子模块包括第一存储器子模块,所述多个实体抹除单元包括至少一其他来源实体抹除单元,其中
所述快闪存储器控制电路单元还用以将所述其他来源实体抹除单元在所述第一存储器子模块中的有效数据量的总和加上所述第三实体抹除单元在所述第一存储器子模块中的有效数据量以获得第四数值,并将所述第四数值除以所述其他来源实体抹除单元的数量以获得所述第一存储器子模块的第一平均有效数据量,
所述快闪存储器控制电路单元还用以将所述其他来源实体抹除单元的有效数据量的总和除以所述其他来源实体抹除单元的数量与所述多个存储器子模块的数量的乘积以获得所述多个存储器子模块的第二平均有效数据量,以及
所述快闪存储器控制电路单元还用以将所述第一平均有效数据量与所述第二平均有效数据量的差值取平方作为所述所述第一存储器子模块的有效数据量。
6.根据权利要求5所述的快闪存储器存储装置,其特征在于,所述其他来源实体抹除单元组成来源池,其中在执行所述有效数据合并操作的运作之前,
所述快闪存储器控制电路单元更容易将所述来源实体抹除单元加入所述来源池中。
CN202010070048.5A 2020-01-21 2020-01-21 快闪存储器的数据合并方法、控制电路单元与存储装置 Active CN111258505B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010070048.5A CN111258505B (zh) 2020-01-21 2020-01-21 快闪存储器的数据合并方法、控制电路单元与存储装置
US16/822,023 US11175847B2 (en) 2020-01-21 2020-03-18 Data merging method, control circuit unit and storage device for flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010070048.5A CN111258505B (zh) 2020-01-21 2020-01-21 快闪存储器的数据合并方法、控制电路单元与存储装置

Publications (2)

Publication Number Publication Date
CN111258505A CN111258505A (zh) 2020-06-09
CN111258505B true CN111258505B (zh) 2023-09-26

Family

ID=70948031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010070048.5A Active CN111258505B (zh) 2020-01-21 2020-01-21 快闪存储器的数据合并方法、控制电路单元与存储装置

Country Status (2)

Country Link
US (1) US11175847B2 (zh)
CN (1) CN111258505B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988076B (zh) * 2021-04-26 2023-08-15 群联电子股份有限公司 快闪存储器控制方法、存储装置及控制器
TWI793966B (zh) * 2022-01-10 2023-02-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US20240045799A1 (en) * 2022-08-08 2024-02-08 Micron Technology, Inc. Weighted valid address count for garbage collection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866429A (zh) * 2014-02-26 2015-08-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN109032957A (zh) * 2017-06-09 2018-12-18 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100789406B1 (ko) * 2006-11-03 2007-12-28 삼성전자주식회사 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
US8782370B2 (en) * 2011-05-15 2014-07-15 Apple Inc. Selective data storage in LSB and MSB pages
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
TWI700635B (zh) * 2018-04-26 2020-08-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
KR20210063764A (ko) * 2019-11-25 2021-06-02 에스케이하이닉스 주식회사 메모리 시스템의 동작 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866429A (zh) * 2014-02-26 2015-08-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN109032957A (zh) * 2017-06-09 2018-12-18 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨亚楠 ; 杨晓龙 ; 陈力颖 ; .可嵌入RFID标签的低功耗单栅非易失性存储器.半导体技术.2016,(01),全文. *

Also Published As

Publication number Publication date
US11175847B2 (en) 2021-11-16
US20210223976A1 (en) 2021-07-22
CN111258505A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111258505B (zh) 快闪存储器的数据合并方法、控制电路单元与存储装置
CN112463018B (zh) 指令传送方法、存储器控制电路单元及存储器存储装置
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
US10884660B2 (en) Memory management method, memory storage device and memory control circuit unit
CN117632038B (zh) 损耗平衡方法、存储器存储装置及存储器控制电路单元
TWI734370B (zh) 快閃記憶體之資料合併方法、控制電路單元與儲存裝置
CN114115737B (zh) 数据存储分配方法、存储器存储装置及控制电路单元
CN117636967B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111240602B (zh) 闪存的数据整理方法、控制电路单元与存储装置
CN114115739B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN117632039B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI831366B (zh) 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
TWI793966B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN114527941B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN117573208B (zh) 指令信息分配方法及存储器存储装置
CN114138207B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US11144244B2 (en) Command transmitting method with temporary storing commands by memory interfaces for rewritable non-volatile memory modules, memory control circuit unit and memory storage device
US20240152296A1 (en) Data reading method, memory storage device, and memory control circuit unit
CN112099727B (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
CN112216329B (zh) 数据抹除方法、存储器控制电路单元及存储器存储装置
CN112181859B (zh) 有效数据合并方法、存储器控制电路单元与存储装置
CN114385244A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN115472201A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN114300020A (zh) 解码电路模块、存储器控制电路单元及存储器存储装置
TW202321924A (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