掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2023-06-19 11:45:49


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

技术领域

本发明涉及一种存储器管理技术,尤其涉及一种存储器管理方法、存储器控制电路单元与存储器存储装置。

背景技术

数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。

为了提高存储器存储装置的最高速度(即带宽),当今存储器存储装置大部分使用多通道的设计。每一个通道可连接多个芯片致能群组。属于不同通道且区块面不同的实体抹除单元(block)可以组成一个虚拟区块。一般来说,存储器存储装置可藉由数据整并操作(例如垃圾回收操作)来将虚拟区块中的旧数据集中存储并释放出新的闲置虚拟区块。新的闲置虚拟区块可用以存储来自主机系统的新数据。然而,若虚拟区块的有效数据集中于某几个芯片致能群组,会降低数据整并操作的性能。

发明内容

本发明提供一种存储器管理方法、存储器控制电路单元与存储器存储装置,可提升存储器的持续存取性能(Sustained Performance)。

本发明的范例实施例提供一种存储器管理方法,用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体抹除单元,其中所述多个实体抹除单元中的每一个对应一个芯片致能群组。并且,所述芯片致能群组具有根据第一顺序排列的对应M个虚拟区块的M个实体抹除单元。所述存储器管理方法包括:记录所述多个实体抹除单元中的每一个的有效计数;根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成多个已排序实体抹除单元;根据所述多个已排序实体抹除单元重新映射所述M个虚拟区块对应的所述实体抹除单元;计算重新映射的所述M个虚拟区块的有效计数总数,并根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成多个已排序虚拟区块;以及依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行垃圾回收操作。

在本发明的一范例实施例中,根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元的步骤包括:根据所述有效计数由小到大排序每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元。

在本发明的一范例实施例中,根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块的步骤包括:根据所述有效计数总数由小到大排序重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作的步骤包括:提取排序在前的至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行所述垃圾回收操作的步骤包括:从至少一所述已排序虚拟区块中提取对应至最小所述有效计数总数的所述已排序虚拟区块作为所述来源虚拟区块。

在本发明的一范例实施例中,执行所述垃圾回收操作的步骤包括:将所述来源虚拟区块中的有效数据复制至目标虚拟区块,并且抹除所述来源虚拟区块。

本发明的范例实施例提供一种存储器控制电路单元,用以控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,其中所述多个实体抹除单元中的每一个对应一个芯片致能群组,并且所述芯片致能群组具有根据第一顺序排列的对应M个虚拟区块的M个实体抹除单元。所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器管理电路用以记录所述多个实体抹除单元中的每一个的有效计数。所述存储器管理电路更用以根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成多个已排序实体抹除单元。所述存储器管理电路更用以根据所述多个已排序实体抹除单元重新映射所述M个虚拟区块对应的所述实体抹除单元。所述存储器管理电路更用以计算重新映射的所述M个虚拟区块的有效计数总数,并根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成多个已排序虚拟区块。并且,所述存储器管理电路更用以依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行垃圾回收操作。

在本发明的一范例实施例中,根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元的操作包括:根据所述有效计数由小到大排序每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元。

在本发明的一范例实施例中,根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块的操作包括:根据所述有效计数总数由小到大排序重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作的操作包括:提取排序在前的至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行所述垃圾回收操作的操作包括:从至少一所述已排序虚拟区块中提取对应至最小所述有效计数总数的所述已排序虚拟区块作为所述来源虚拟区块。

在本发明的一范例实施例中,执行所述垃圾回收操作的操作包括:将所述来源虚拟区块中的有效数据复制至目标虚拟区块,并且抹除所述来源虚拟区块。

本发明的范例实施例提供一种存储器控制电路单元,用以控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,其中所述多个实体抹除单元中的每一个对应一个芯片致能群组,并且所述芯片致能群组具有根据第一顺序排列的对应M个虚拟区块的M个实体抹除单元。所述存储器控制电路单元包括:连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个实体抹除单元,其中所述多个实体抹除单元中的每一个对应一个芯片致能群组,并且所述芯片致能群组具有根据第一顺序排列的对应M个虚拟区块的M个实体抹除单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以记录所述多个实体抹除单元中的每一个的有效计数。所述存储器控制电路单元更用以根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成多个已排序实体抹除单元。所述存储器控制电路单元更用以根据所述多个已排序实体抹除单元重新映射所述M个虚拟区块对应的所述实体抹除单元。所述存储器控制电路单元更用以计算重新映射的所述M个虚拟区块的有效计数总数,并根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成多个已排序虚拟区块。并且,所述存储器控制电路单元更用以依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行垃圾回收操作。

在本发明的一范例实施例中,根据所述有效计数依序排列每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元的操作包括:根据所述有效计数由小到大排序每个所述芯片致能群组对应的所述M个实体抹除单元以形成所述多个已排序实体抹除单元。

在本发明的一范例实施例中,根据所述有效计数总数依序排列重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块的操作包括:根据所述有效计数总数由小到大排序重新映射的所述M个虚拟区块以形成所述多个已排序虚拟区块。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作的操作包括:提取排序在前的至少一所述已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作。

在本发明的一范例实施例中,依序提取至少一所述已排序虚拟区块作为来源虚拟区块以执行所述垃圾回收操作的操作包括:从至少一所述已排序虚拟区块中提取对应至最小所述有效计数总数的所述已排序虚拟区块作为所述来源虚拟区块。

在本发明的一范例实施例中,执行所述垃圾回收操作的操作包括:将所述来源虚拟区块中的有效数据复制至目标虚拟区块,并且抹除所述来源虚拟区块。

基于上述,本发明实施例的存储器管理方法、存储器控制电路单元与存储器存储装置,可记录每个实体抹除区块的有效计数,并且能根据每个实体抹除区块的有效计数来重组虚拟区块。例如,可将每个芯片致能群组中有效计数最小的实体抹除单元重组至同一虚拟区块。根据重组结果,可选择重组后的虚拟区块作为垃圾回收操作时使用的来源虚拟区块。藉此,可提高垃圾回收操作的效率并减少垃圾回收操作的次数,从而提升存储器的持续存取性能。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是根据本发明一实施例所示出的存储器存储系统的示意图;

图2是根据本发明一实施例所示出的存储器控制电路单元的示意图;

图3是根据本发明一实施例所示出的存储器存储装置的范例示意图;

图4是根据本发明一实施例所示出的管理虚拟区块的范例示意图;

图5A是根据本发明一实施例所示出的管理虚拟区块的范例示意图;

图5B是根据本发明一实施例所示出的重新映射实体抹除单元的范例示意图;

图6是根据本发明的一范例实施例所示出的存储器管理方法的流程图。

具体实施方式

现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。

图1是根据本发明一实施例所示出的存储器存储系统的示意图。请参图1,存储器存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意型态的计算机系统。例如,主机系统11可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、远端服务器等。存储器存储装置12用以存储来自主机系统11的数据。例如,存储器存储装置12可以是随身盘、存储卡、固态硬盘(Solid State Drive,SSD)或其他类型的非易失性存储器存储装置。主机系统11可经由符合串行先进技术总线附属(Serial AdvancedTechnology Attachment,SATA)接口、外设部件互连接口(Peripheral ComponentInterconnect Express,PCI Express)、通用串行总线(Universal Serial Bus,USB)标准或其他类型的连接接口电性连接至存储器存储装置12和/或从存储器存储装置12读取数据。

存储器存储装置12可包括连接接口单元121、存储器控制电路单元122及可复写式非易失性存储器模块123。连接接口单元121用以将存储器存储装置12连接至主机系统11。例如,连接接口单元121是相容于SATA、PCI Express或USB等连接接口标准。存储器存储装置12可经由连接接口单元121与主机系统11通讯。在一范例实施例中,连接接口单元121可与存储器控制电路单元122封装在一个芯片中,或者连接接口单元121是布设于一包含存储器控制电路单元的芯片外,本发明不在此限制。

存储器控制电路单元122连接至连接接口单元121与可复写式非易失性存储器模块123。存储器控制电路单元122用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块123中进行数据的写入、读取与抹除等操作。例如,存储器控制电路单元122可包括中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU),或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、专用集成电路(Application Specific Integrated Circuits,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。

可复写式非易失性存储器模块123耦接至存储器控制单元123,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块123包括存储单元,并且存储单元是以阵列的方式设置。可复写式非易失性存储器模块123的存储单元是以电压的形式来存储数据。例如,可复写式非易失性存储器模块123可包括单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406亦可是多阶存储单元(MultiLevel Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)或其他具有相似特性的存储器模块。

在本范例实施例中,可复写式非易失性存储器模块123具有多个字线(wordline),其中所述多个字线的每一个字线包括多个存储单元。同一条字线上的多个存储单元会组成一或多个实体程序化单元。例如,实体程序化单元可以是实体页面或实体扇区。此外,多个实体程序化单元可组成一个实体抹除单元。例如,实体抹除单元可以是实体区块。

在不同范例实施例中,实体抹除单元可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。一个实体抹除单元可由多个连续或不连续的实体地址组成。每一实体抹除单元分别具有数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成,本发明不在此限制。更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。

图2是根据本发明一实施例所示出的存储器控制电路单元的示意图。请参照图1与图2,存储器控制电路单元122包括主机接口21、存储器接口22及存储器管理电路23。

主机接口21是耦接至存储器管理电路23并且用以耦接至连接接口单元121,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口21来传送至存储器管理电路23。在本范例实施例中,主机接口21是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口21亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。

存储器接口22是耦接至存储器管理电路23并且用以存取可复写式非易失性存储器模块123。也就是说,欲写入至可复写式非易失性存储器模块123的数据会经由存储器接口22转换为可复写式非易失性存储器模块123所能接受的格式。

存储器管理电路23用以控制存储器控制电路单元122的整体运作。具体来说,存储器管理电路23具有多个控制指令,并且在存储器存储装置12运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。此外,存储器管理电路23还可包括一或多个缓冲存储器,其用以暂存数据。

此外,存储器管理电路23可配置多个逻辑单元给可复写式非易失性存储器模块123以映射实体地址,并将逻辑单元与实体地址之间的映射关系(亦称为逻辑-实体地址映射关系)记录于至少一逻辑至实体映射表(Logical To Physical address mappingtable)。当主机系统11欲从存储器存储装置12读取数据或写入数据至存储器存储装置12时,存储器管理电路23可根据此逻辑至实体映射表来执行对于存储器存储装置12的数据存取操作。

在本范例实施例中,存储器管理电路23的控制指令是以固件型式来实作。例如,存储器管理电路23具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。

在本发明另一范例实施例中,存储器管理电路23的控制指令亦可以代码型式存储于可复写式非易失性存储器模块123的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路23具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元123被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块123中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。

此外,在本发明另一范例实施例中,存储器管理电路23的控制指令亦可以一硬件型式来实作。例如,存储器管理电路23包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块123的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块123下达写入指令以将数据写入至可复写式非易失性存储器模块123中;存储器读取电路用以对可复写式非易失性存储器模块123下达读取指令以从可复写式非易失性存储器模块123中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块123下达抹除指令以将数据从可复写式非易失性存储器模块123中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块123的数据以及从可复写式非易失性存储器模块123中读取的数据。

在以下范例实施例中,对于主机接口21、存储器接口22与存储器管理电路23所执行的操作,亦可参考为由存储器控制电路单元122所执行。

图3是根据本发明一实施例所示出的存储器存储装置的范例示意图。

必须了解的是,在此描述可复写式非易失性存储器模块123的实体抹除单元的运作时,以“分组”、“组成”、“重组”、“重新映射”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。

请参图3,可复写式非易失性存储器模块123可包括多个芯片致能(Chip Enable,CE)(亦称为,芯片致能群组)CE(0)~CE(m)。每个芯片致能可包括一或多个存储器晶粒或平面(plane),且各平面包括多个实体抹除单元。换句话说,多个实体抹除单元中的每一个对应一个芯片致能群组。存储器存储装置12可包括多个通道(channel)30(0)~30(i),每一个通道可连接多个芯片致能。换句话说,多个芯片致能可共享一个通道,且各个芯片致能分别使用关联的通道与存储器管理电路23进行沟通。存储器管理电路23可驱动通道30(0)~30(i)中其中之一,从指定的芯片致能CE(0)~CE(m)读取数据。每个芯片致能CE(0)~CE(m)具有独立的芯片致能(CE)控制信号。举例来说,当欲对指定的芯片致能CE(0)进行数据读取时,需要驱动关联的通道致能芯片致能CE(0)的芯片致能控制信号,并通过数据线(dataline)从致能芯片致能CE(0)的指定位置读取数据。

每个芯片致能群组具有根据顺序(亦称为,第一顺序)排列的对应M个虚拟区块(Virtual Block,VB)的M个实体抹除单元,M为大于0的整数。例如,图4是根据本发明一实施例所示出的管理虚拟区块的范例示意图。请参图4,为方便说明,假设可复写式非易失性存储器模块123包括芯片致能CE(0)~CE(7),并且每个芯片致能包括11个实体抹除单元(即,假设M为11)。在本范例实施例中,属于不同芯片致能的多个实体抹除单元可以组成一个虚拟区块。例如,实体抹除单元410(0)、实体抹除单元420(0)、实体抹除单元430(0)、实体抹除单元440(0)、实体抹除单元450(0)、实体抹除单元460(0)、实体抹除单元470(0)及实体抹除单元480(0)(以下简称实体抹除单元410(0)~480(0))可以组成虚拟区块VB0。同样地,实体抹除单元410(1)~480(1)、410(2)~480(2)、410(3)~480(3)、410(4)~480(4)、410(5)~480(5)、410(6)~480(6)、410(7)~480(7)、410(8)~480(8)、410(9)~480(9)、410(10)~480(10)可以分别组成虚拟区块VB1、VB2、VB3、VB4、VB5、VB6、VB7、VB8、VB9、VB10。以此类推,可视芯片致能所包括实体抹除单元的数量组成不同数量的虚拟区块,本发明不在此限制。换句话说,图4的实施例假设实体抹除单元共组成11个虚拟区块VB0~VB10。

在本实施例中,存储器管理电路23是根据虚拟区块的顺序来循序写入数据。例如,假设所有虚拟区块皆为空白,当欲写入一笔可填满10个实体抹除单元的写入数据时,存储器管理电路23会根据第一顺序将所述写入数据存储至所述第一个空白的虚拟区块VB0的实体抹除单元410(0)~480(0),并将剩下的所述写入数据存储至所述第二个空白的虚拟区块VB1的实体抹除单元410(1)~420(1)。

在一实施例中,若欲被写入的虚拟区块中分别对应所有平面的所有实体抹除单元皆可被用来存储数据(如,空白的),则存储器管理电路23可使用多平面写入(MultiplePlane Write)模式来存储所述写入数据至所述虚拟区块。所述多平面写入模式亦可称为全平面写入(Full Plane Write)模式。反之,若欲被写入的虚拟区块中分别对应所有平面的所有实体抹除单元中的一或多个实体抹除单元不可被用来存储数据(例如,实体抹除单元为已损坏或已存储数据),则存储器管理电路23可使用单平面写入(Single Plane Write)模式来存储所述写入数据至所述虚拟区块。然而,本发明不在此限制写入模式。

在一实施例中,存储器管理电路23在可复写式非易失性存储器模块123维护特定管理信息(亦称为,第一管理信息)。例如,第一管理信息可存储于可复写式非易失性存储器模块123。在本实施例中,第一管理信息例如为一查找表,且记录有多个实体抹除单元中的每一个的有效计数(valid count)。

图5A是根据本发明一实施例所示出的管理虚拟区块的范例示意图。举例来说,图5A为对应至图4中可复写式非易失性存储器模块123的简化图式,下表1为对应至图5A的第一管理信息。请对应参图5A及下表1,图5A的实体抹除单元410(0)的有效计数记录在表1中对应芯片致能CE(0)与虚拟区块VB0的栏位,即,有效计数为5325。以此类推,可对应参照图5A及下表1获得每个实体抹除单元的有效计数。如此一来,存储器管理电路23可根据第一管理信息获得实体抹除单元的有效计数。

表1

在本范例实施例中,存储器管理电路23用以根据每个实体抹除单元的有效计数重新映射(remap)每个虚拟区块包括的实体抹除单元(如,以下所描述的虚拟区块重新映射操作),以将有效计数较小的实体抹除单元重组至同一虚拟区块。

具体来说,存储器管理电路23根据实体抹除单元的有效计数依序排列每个芯片致能群组对应的实体抹除单元以形成多个已排序实体抹除单元。例如,存储器管理电路23可根据有效计数由小到大排序每个芯片致能群组对应的实体抹除单元以形成多个已排序实体抹除单元。或者,存储器管理电路23也可以根据有效计数由大到小排序每个芯片致能群组对应的实体抹除单元来形成多个已排序实体抹除单元,本发明不在此限制排序的方式。

存储器管理电路23例如可将上表1的有效计数由小到大排序,并将每个芯片致能群组对应的实体抹除单元依照排序后的有效计数的顺序进行排列以形成已排序实体抹除单元。以图5A的芯片致能CE(0)为例,存储器管理电路23由小到大排序表1中对应芯片致能CE(0)的有效计数,排序后的有效计数如下表2所示。接着,存储器管理电路23根据下表2的有效计数的顺序,将芯片致能CE(0)对应的实体抹除单元410(0)~410(10)依照每个实体抹除单元对应的有效计数的排列顺序形成已排序的M个(在本实施例中为11个)实体抹除单元,由前往后的顺序为已排序实体抹除单元410(4)、410(10)、410(2)、410(7)、410(5)、410(8)、410(9)、410(0)、410(3)、410(1)及410(6)。以此类推,存储器管理电路23根据上述方式依序排列芯片致能CE(1)~CE(7)对应的实体抹除单元。

表2

在形成已排序实体抹除单元后,存储器管理电路23执行虚拟区块重新映射操作。在虚拟区块重新映射操作中,存储器管理电路23根据多个已排序实体抹除单元重新映射虚拟区块对应的实体抹除单元。具体来说,存储器管理电路23执行虚拟区块重新映射操作时,利用已排序实体抹除单元的实体地址来重新映射虚拟区块对应的实体抹除单元的实体地址(存储器管理电路23可利用虚拟区块管理表来记录此信息)。即,对于已排序实体抹除单元的数据存取操作,都会被转换为对于重新映射的实体抹除单元的数据存取操作。

图5B是根据本发明一实施例所示出的重新映射实体抹除单元的范例示意图。在此以图5A的芯片致能CE(0)为例进行说明。接续前述实施例,芯片致能CE(0)对应的已排序实体抹除单元由前往后的顺序为已排序实体抹除单元410(4)、410(10)、410(2)、410(7)、410(5)、410(8)、410(9)、410(0)、410(3)、410(1)及410(6)。据此,存储器管理电路23根据此些已排序实体抹除单元,重新映射实体抹除单元410(0)~410(10)的实体地址(如,图5B所示的410(0)→410(4)、410(1)→410(10)、410(3)→410(7)、410(4)→410(5)、410(5)→410(8)、410(6)→410(9)、410(7)→410(0)、410(8)→410(3)、410(9)→410(1)、410(10)→410(6))。存储器管理电路23会记录对应实体抹除单元410(0)~410(10)的映射信息至虚拟区块管理表中,并完成对应芯片致能CE(0)的虚拟区块重新映射操作。以此类推,存储器管理电路23根据上述方式完成芯片致能CE(1)~CE(7)的虚拟区块重新映射操作。

在完成虚拟区块重新映射操作后,存储器管理电路23计算重新映射的虚拟区块的有效计数总数,并根据有效计数总数依序排列重新映射的虚拟区块以形成多个已排序虚拟区块。例如,存储器管理电路23可根据有效计数总数由小到大排序重新映射的虚拟区块以形成多个已排序虚拟区块。或者,存储器管理电路23可根据有效计数总数由大到小排序重新映射的虚拟区块来形成多个已排序虚拟区块,本发明不在此限制排序的方式。

举例来说,上表2记录的有效计数可对应至图5B中重新映射的实体抹除单元。请对应参图5B及上表2,图5B中实体抹除单元410(0)已被实体抹除单元410(4)所取代(如,图5B所示的410(0)→410(4)),取代后的实体抹除单元410(4)的有效计数记录在表2中对应芯片致能CE(0)与虚拟区块VB0的栏位,即,有效计数为294。以此类推,可对应参照图5B及上表2获得每个实体抹除单元的有效计数。在本范例实施例中,存储器管理电路23可加总每个重新映射的虚拟区块VB0~VB10对应的实体抹除单元的有效计数,以产生重新映射的虚拟区块VB0~VB10的有效计数总数。例如,存储器管理电路23加总重新映射的虚拟区块VB0所对应的实体抹除单元410(4)、420(6)、430(5)、440(10)、450(7)、460(3)、470(5)及480(10)的有效计数,且计算出的有效计数总数为2502。以此类推,存储器管理电路23可计算出重新映射的虚拟区块VB1~VB10的有效计数总数(存储器管理电路23可利用有效计数总数管理表来记录此信息)。计算出的有效计数总数可参照下表3。表3的左栏为虚拟区块VB0~VB10,右栏记录虚拟区块VB0~VB10对应的有效计数总数。在本范例实施例中,由于在形成已排序实体抹除单元时即是由小到大排列每个芯片致能群组对应的实体抹除单元,因此不需要再次排列重新映射的虚拟区块即可形成具有由小到大排序的虚拟区块(即,虚拟区块VB0~VB10可视为已排序虚拟区块)。

表3

最后,存储器管理电路23依序提取至少一个已排序虚拟区块作为来源虚拟区块以执行垃圾回收操作(garbage collection)。例如,存储器管理电路23可提取排序在前的至少一个已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作。或者,存储器管理电路23可提取排序在后的至少一个已排序虚拟区块作为所述来源虚拟区块以执行所述垃圾回收操作,本发明不在此限制提取已排序虚拟区块的方式。

请参上表3,存储器管理电路23可依照有效计数总数由小到大的顺序提取虚拟区块VB0~VB10作为来源虚拟区块。例如,存储器管理电路23可从已排序虚拟区块中提取对应至最小所述有效计数总数的已排序虚拟区块作为来源虚拟区块。如此一来,存储器管理电路23可将每个芯片致能群组中对应的有效计数为最小值的实体抹除单元重组至同一虚拟区块VB0,并优先将重组后的虚拟区块VB0作为垃圾回收操作时使用的来源虚拟区块。

值得一提的是,上述提取已排序虚拟区块的方式关联于先前步骤排列实体抹除单元形成已排序实体抹除单元的排列顺序。与上表2相反,如果存储器管理电路23在形成已排序实体抹除单元时是由大到小排序上表1中对应芯片致能的有效计数,则重新映射的虚拟区块可形成有效计数总数为由大到小排序的已排序虚拟区块。在此实施例中,存储器管理电路23可提取排序在后的至少一个已排序虚拟区块作为所述来源虚拟区块。或者,存储器管理电路23可根据有效计数总数依序排列重新映射的虚拟区块以形成有效计数总数为由小到大排序的已排序虚拟区块,并提取排序在前的至少一个已排序虚拟区块作为所述来源虚拟区块。应注意的是,本发明并不限制排序及方式,本领域人员当可经由上述范例实施例的启示,自行设计各种排序及提取已排序虚拟区块的方式。

在决定来源虚拟区块后,存储器管理电路23执行垃圾回收操作。存储器管理电路23选择一个虚拟区块当作目标虚拟区块。接着将来源虚拟区块中的有效数据搬移(或复制)至目标虚拟区块,并且抹除来源虚拟区块以释放出来源虚拟区块的无效数据所占用的空间。然而,上述有关垃圾回收操作的其他技术概念为本领域技术人员所熟知的技术手段,不再赘述于此。

图6是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图6,在步骤S602,记录多个实体抹除单元中的每一个的有效计数。在步骤S604,根据有效计数依序排列每个芯片致能群组对应的M个实体抹除单元以形成多个已排序实体抹除单元。在步骤S606,根据多个已排序实体抹除单元重新映射M个虚拟区块对应的实体抹除单元。在步骤S608,计算重新映射的虚拟区块的有效计数总数,并根据有效计数总数依序排列重新映射的M个虚拟区块以形成多个已排序虚拟区块。在步骤S610,依序提取至少一已排序虚拟区块作为来源虚拟区块以执行垃圾回收操作。

然而,图6中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图6中各步骤可以实作为多个代码或是电路,本发明不加以限制。此外,图6的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。

综上所述,本发明实施例的存储器管理方法、存储器控制电路单元与存储器存储装置,能根据每个实体抹除区块的有效计数来重组虚拟区块。例如,可将每个芯片致能群组中有效计数最小的实体抹除单元重组至同一虚拟区块。除此之外,本发明实施例可优先将有效计数总数最小的虚拟区块作为垃圾回收操作时使用的来源虚拟区块。藉此,可提高的效率垃圾回收操作并减少垃圾回收操作的次数,从而提升存储器的持续存取性能。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 存储器管理方法、存储器存储装置及存储器控制电路单元
  • 存储器管理方法、存储器存储装置及存储器控制电路单元
技术分类

06120113045310