CN109032957A - 存储器管理方法、存储器控制电路单元与存储器存储装置 - Google Patents
存储器管理方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN109032957A CN109032957A CN201710430934.2A CN201710430934A CN109032957A CN 109032957 A CN109032957 A CN 109032957A CN 201710430934 A CN201710430934 A CN 201710430934A CN 109032957 A CN109032957 A CN 109032957A
- Authority
- CN
- China
- Prior art keywords
- erased cell
- entity
- entity erased
- instance
- valid data
- 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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)操作(也称为有效数据合并操作)来释放出可用的实体抹除单元。例如,传统垃圾收集操作是选择实体抹除单元中其有效数据最少的一个实体抹除单元,并复制此些有效数据至另一个实体抹除单元以释放出可用的实体抹除单元。
然而,若主机系统更新一个大范围内逻辑地址上的数据时,由于更新逻辑地址范围大,许多实体抹除单元上会仅有少部分实体程序化单元存有有效数据。在此情况下,此些实体抹除单元的有效数据可能不是最少的,造成不会被选择作为执行垃圾收集操作的目标。基此,使得可复写式非易失性存储器内可用的实体抹除单元的数目减少,影响执行写入指令的效能。
基于此,如何选择实体抹除单元来进行垃圾收集操作,以提升写入效能,并延长可复写式非易失性存储器的寿命是此领域技术人员所致力的目标。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,其能够提升写入效能,并延长可复写式非易失性存储器的寿命。
本发明的一范例实施例提出一种存储器管理方法,用于可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个实体抹除单元,且每一个实体抹除单元具有多个实体程序化单元。本存储器管理方法包括记录每一实体抹除单元的有效数据数,且识别多个第一实体抹除单元,其中第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间。本存储器管理方法还包括,倘若第一实体抹除单元的数目符合预先定义条件时,从此些第一实体抹除单元之中选取一第二实体抹除单元,将第二实体抹除单元中的多个有效数据复制至第三实体抹除单元,并对第二实体抹除单元进行抹除操作。
在本发明的一范例实施例中,上述存储器管理方法还包括:将上述实体抹除单元至少分组为数据区与闲置区;以及从闲置区中选取上述第三实体抹除单元,其中上述第一实体抹除单元是被分组至数据区。
在本发明的一范例实施例中,上述存储器管理方法还包括:倘若上述第一实体抹除单元的所述数目不符合所述预先定义条件时,从数据区中选取第四实体抹除单元,将第四实体抹除单元中的多个有效数据复制至上述第三实体抹除单元,并对第四实体抹除单元进行抹除操作,其中第四实体抹除单元的有效数据数小于数据区中其他实体抹除单元的有效数据数。
在本发明的一范例实施例中,上述存储器管理方法还包括:根据数据区的实体抹除单元的有效数据数,产生对应可复写式非易失性存储器模块的有效数据数分布;排序有效数据数分布以产生已排序有效数据数分布;计算在已排序有效数据数分布上,对应第一实体抹除单元的斜率值;判断此斜率值是否小于斜率门槛值;倘若斜率值小于斜率门槛值时,判断上述第一实体抹除单元的数目符合预先定义条件;以及倘若此斜率值非小于斜率门槛值时,判断上述第一实体抹除单元的数目不符合预先定义条件。
在本发明的一范例实施例中,上述存储器管理方法还包括:将上述第一实体抹除单元的数目除以初始保留在闲置区的实体抹除单元的数目以获得斜率值;判断此斜率值是否小于斜率门槛值;倘若斜率值小于斜率门槛值时,判断上述第一实体抹除单元的数目符合预先定义条件;以及倘若此斜率值非小于斜率门槛值时,判断上述第一实体抹除单元的数目不符合预先定义条件。
本发明的一范例实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个实体抹除单元且每一个实体抹除单元具有多个实体程序化单元。此存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,存储器接口用以电性连接至可复写式非易失性存储器模块,以及存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以记录每一实体抹除单元的有效数据数,并识别多个第一实体抹除单元,其中第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间。倘若此些第一实体抹除单元的数目符合预先定义条件时,存储器管理电路还用以从此些第一实体抹除单元之中选取一第二实体抹除单元,下达一指令序列将第二实体抹除单元中的多个有效数据复制至第三实体抹除单元,并对第二实体抹除单元进行抹除操作。
在本发明的一范例实施例中,上述存储器管理电路还用以将上述实体抹除单元至少分组为数据区与闲置区并且从闲置区中选取上述第三实体抹除单元,其中上述第一实体抹除单元是被分组至数据区。
在本发明的一范例实施例中,倘若上述第一实体抹除单元的所述数目不符合所述预先定义条件时,上述存储器管理电路还用以从数据区中选取第四实体抹除单元,下达一指令序列将第四实体抹除单元中的多个有效数据复制至上述第三实体抹除单元,并对第四实体抹除单元进行抹除操作,其中第四实体抹除单元的有效数据数小于数据区中其他实体抹除单元的有效数据数。
在本发明的一范例实施例中,上述存储器管理电路还用以根据数据区的实体抹除单元的有效数据数,产生对应可复写式非易失性存储器模块的有效数据数分布,排序有效数据数分布以产生已排序有效数据数分布,计算在已排序有效数据数分布上,对应第一实体抹除单元的斜率值,并且判断此斜率值是否小于斜率门槛值。倘若斜率值小于斜率门槛值时,上述存储器管理电路判断上述第一实体抹除单元的数目符合预先定义条件,并且倘若此斜率值非小于斜率门槛值时,上述存储器管理电路还判断上述第一实体抹除单元的数目不符合预先定义条件。
在本发明的一范例实施例中,上述存储器管理电路还用以将上述第一实体抹除单元的数目除以初始保留在闲置区的实体抹除单元的数目以获得斜率值并且判断此斜率值是否小于斜率门槛值。倘若斜率值小于斜率门槛值时,上述存储器管理电路判断上述第一实体抹除单元的数目符合预先定义条件,并且倘若此斜率值非小于斜率门槛值时,上述存储器管理电路还判断上述第一实体抹除单元的数目不符合预先定义条件。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元且每一个实体抹除单元具有多个实体程序化单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以记录每一实体抹除单元的有效数据数,并识别多个第一实体抹除单元,其中第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间。倘若此些第一实体抹除单元的数目符合预先定义条件时,存储器控制电路单元还用以从此些第一实体抹除单元之中选取一第二实体抹除单元,将第二实体抹除单元中的多个有效数据复制至第三实体抹除单元,并对第二实体抹除单元进行抹除操作。
在本发明的一范例实施例中,上述存储器控制电路单元还用以将上述实体抹除单元至少分组为数据区与闲置区并且从闲置区中选取上述第三实体抹除单元,其中上述第一实体抹除单元是被分组至数据区。
在本发明的一范例实施例中,倘若上述第一实体抹除单元的所述数目不符合所述预先定义条件时,上述存储器控制电路单元还用以从数据区中选取第四实体抹除单元,将第四实体抹除单元中的多个有效数据复制至上述第三实体抹除单元,并对第四实体抹除单元进行抹除操作,其中第四实体抹除单元的有效数据数小于数据区中其他实体抹除单元的有效数据数。
在本发明的一范例实施例中,上述存储器控制电路单元还用以根据数据区的实体抹除单元的有效数据数,产生对应可复写式非易失性存储器模块的有效数据数分布,排序有效数据数分布以产生已排序有效数据数分布,计算在已排序有效数据数分布上,对应第一实体抹除单元的斜率值,并且判断此斜率值是否小于斜率门槛值。倘若斜率值小于斜率门槛值时,上述存储器控制电路单元判断上述第一实体抹除单元的数目符合预先定义条件,并且倘若此斜率值非小于斜率门槛值时,上述存储器控制电路单元还判断上述第一实体抹除单元的数目不符合预先定义条件。
在本发明的一范例实施例中,上述存储器控制电路单元还用以将上述第一实体抹除单元的数目除以初始保留在闲置区的实体抹除单元的数目以获得斜率值并且判断此斜率值是否小于斜率门槛值。倘若斜率值小于斜率门槛值时,上述存储器控制电路单元判断上述第一实体抹除单元的数目符合预先定义条件,并且倘若此斜率值非小于斜率门槛值时,上述存储器控制电路单元还判断上述第一实体抹除单元的数目不符合预先定义条件。
在本发明的一范例实施例中,上述斜率门槛值为T,并且0.5≦T≦0.9。
在本发明的一范例实施例中,上述斜率门槛值为0.8。
基于上述,本范例实施例的存储器管理方法、存储器控制电路单元与存储器存储装置,是通过记录实体抹除单元的有效数据数识别出有效数据数介于特定范围的实体抹除单元,并且根据有效数据数介于特定范围的实体抹除单元来选择此特定范围的实体抹除单元或具最小有效数据数的实体抹除单元来执行垃圾搜集操作,基于此,由此可避免实体抹除单元因部分实体程序化单元存有有效数据而无法有效利用,提升写入效能,并延长可复写式非易失性存储器的寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图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:随身碟
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(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):逻辑区域
S1001:记录每一所述实体抹除单元的有效数据数的步骤
S1003:根据数据区的实体抹除单元的有效数据数,产生对应可复写式非易失性存储器模块的有效数据数分布并排序此有效数据数分布以产生已排序有效数据数分布的步骤
S1005:计算在已排序有效数据数分布上,对应有效数据数介于第一预定值与第二预定值之间的实体抹除单元(即,第一实体抹除单元)的斜率值的步骤
S1007:判断所计算出的斜率值是否小于斜率门槛值的步骤
S1009:从第一实体抹除单元中选取第二实体抹除单元来执行垃圾收集操作,以将第二实体抹除单元中的有效数据复制到第三实体抹除单元并对第二实体抹除单元执行抹除操作的步骤
S1011:从数据区中选取据最小有效数据数的第四实体抹除单元来执行垃圾收集操作,以将第四实体抹除单元中的有效数据复制到第三实体抹除单元并对第四实体抹除单元执行抹除操作的步骤
S1101:记录每一所述实体抹除单元的有效数据数的步骤
S1103:将有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目除以初始保留在闲置区的实体抹除单元的数目来估算一个斜率值的步骤
S1105:判断所计算出的斜率值是否小于斜率门槛值的步骤
S1107:从第一实体抹除单元中选取第二实体抹除单元来执行垃圾收集操作,以将第二实体抹除单元中的有效数据复制到第三实体抹除单元并对第二实体抹除单元执行抹除操作的步骤
S1109:从数据区中选取据最小有效数据数的第四实体抹除单元来执行垃圾收集操作,以将第四实体抹除单元中的有效数据复制到第三实体抹除单元并对第四实体抹除单元执行抹除操作的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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可例如是随身碟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 ElectronicEngineers,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也可是多阶存储单元(MultiLevel 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会根据错误校正码框中的错误校正码来验证所读取的数据的正确性。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更改,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。
一般来说,在存储器存储装置10出厂之前,制造商会使用量产工具(MassProduction tool,MP tool)来对存储器存储装置10执行开卡操作,以执行初始化动作。请参照图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会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器管理电路502会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器管理电路502会在可复写式非易失性存储器模块406中存储逻辑-实体映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器管理电路502会将逻辑-实体映射表载入至缓冲存储器508来维护。
值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器管理电路502会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑-实体映射表。特别是,当存储器管理电路502欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑-实体映射表会被载入至缓冲存储器508来被更新。
图8是根据一范例实施例所示出的数据更新示意图。
请参照图8,如上所述,在可复写式非易失性存储器模块406中,提供给主机系统11存取的是数据区502的实体抹除单元,而数据区502与闲置区504的实体抹除单元会以轮替方式来存储使用者数据。例如,倘若逻辑单元LBA(0)的原数据被程序化至实体抹除单元410(0)的情况下,主机系统11更新逻辑单元LBA(0)中部分逻辑地址的数据时,更新的数据会被程序化至另一个实体抹除单元410(F)中,此时实体抹除单元410(0)中的部分数据会被标示为无效(见斜线部分)且部分数据为有效(见网点部分)。特别是,在数据区502中有效数据数介于中间值的实体抹除单元(即,部分数据已被更新的实体抹除单元),由于有效数据数不是最少的,因此,若执行垃圾收集操作时仅选择具最小有效数据数的实体抹除单元时,此些有效数据数介于中间值的实体抹除单元上的有效数据有较低的机率会被合并,造成闲置区504中可用的实体抹除单元的数目下降并使得执行写入操作的可用实体抹除单元减少,而影响执行写入操作的效能。在本范例实施例中,执行垃圾收集操作时,存储器管理电路502会根据数据区502内的各实体抹除单元的有效数据数,来选择具最小有效数据数的实体抹除单元或是有效数据数介于中间值的实体抹除单元来执行有效数据合并。
例如,存储器管理电路502会记录每一实体抹除单元的有效数据数,并且根据数据区502的实体抹除单元的有效数据数,识别出有效数据数介于第一预定值与第二预定值之间的实体抹除单元(以下称为第一实体抹除单元)。在此,第一预定值与第二预定值是根据实体抹除单元的容量而设定,例如,第一预定值为实体抹除单元容量的33%且第二预定值为实体抹除单元容量的80%。然而,必须了解的是,第一预定值与第二预定值的设定不限于此。例如,第一设定值也可为实体抹除单元容量的30%或者第二预定值也可为实体抹除单元容量的90%。
在本范例实施例中,存储器管理电路502会判断有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数量是否符合预先定义条件。倘若有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数量符合预先定义条件时,存储器管理电路502会从有效数据数介于第一预定值与第二预定值之间的实体抹除单元中选取实体抹除单元(以下称为第二实体抹除单元)来执行垃圾收集操作,以将第二实体抹除单元中的有效数据复制到闲置区504中空的实体抹除单元(以下称为第三实体抹除单元)并对第二实体抹除单元执行抹除操作。例如,存储器管理电路502会从有效数据数介于第一预定值与第二预定值之间的实体抹除单元中随机选择一个实体抹除单元。倘若有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数量不符合预先定义条件时,存储器管理电路502会数据区502中选取具有最小有效数据数的实体抹除单元(以下称为第四实体抹除单元)来执行垃圾收集操作,以将第四实体抹除单元中的有效数据复制到第三实体抹除单元并对第四实体抹除单元执行抹除操作。
例如,存储器管理电路502会根据数据区502的实体抹除单元的有效数据数,产生对应的有效数据数分布,并且排序此有效数据数分布以产生已排序有效数据分布(见图9)。之后,在此已排序有效数据分布上,计算对应有效数据数介于第一预定值与第二预定值之间的实体抹除单元的线段的斜率值。特别是,存储器管理电路502会判断此斜率值是否小于一个斜率门槛值。倘若此斜率值小于斜率门槛值时,存储器管理电路502判断有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目符合预先定义条件,并且从有效数据数介于第一预定值与第二预定值之间的实体抹除单元中选取实体抹除单元来执行垃圾收集操作。反之,倘若此斜率值非小于斜率门槛值时,存储器管理电路502判断有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目不符合预先定义条件,并且从数据区502中选取具最小有效数据的实体抹除单元来执行垃圾收集操作。在此,斜率门槛值为T且被设定为0.8,然而必须了解的是,本发明不限于此,在另一范例实施例中,T也可被设定为0.5、0.5与0.8之间、0.8与0.9之间、0.9或其他适当的值。
图10是根据一范例实施例所示出的存储器管理方法的流程图。
请参照图10,在步骤S1001中,存储器管理电路502记录每一所述实体抹除单元的有效数据数。
在步骤S1003中,存储器管理电路502会根据数据区502的实体抹除单元的有效数据数,产生对应可复写式非易失性存储器模块406的有效数据数分布并排序此有效数据数分布以产生已排序有效数据数分布。之后,在步骤S1005中,存储器管理电路502会计算在已排序有效数据数分布上,对应有效数据数介于第一预定值与第二预定值之间的实体抹除单元(即,第一实体抹除单元)的斜率值,并且在步骤S1007中,存储器管理电路502会判断所计算出的斜率值是否小于斜率门槛值。
倘若所计算出的斜率值小于斜率门槛值时,在步骤S1009中,存储器管理电路502会从第一实体抹除单元中选取第二实体抹除单元来执行垃圾收集操作,以将第二实体抹除单元中的有效数据复制到第三实体抹除单元并对第二实体抹除单元执行抹除操作。
倘若所计算出的斜率值非小于斜率门槛值时,在步骤S1011中,存储器管理电路502会从数据区502中选取据最小有效数据数的第四实体抹除单元来执行垃圾收集操作,以将第四实体抹除单元中的有效数据复制到第三实体抹除单元并对第四实体抹除单元执行抹除操作。
必须了解的是,通过已排序的有效数据分布来计算对应有效数据数介于第一预定值与第二预定值之间的实体抹除单元的斜率值,仅为一范例,本发明不限于此。在另一范例实施例中,存储器管理电路502也可将有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目除以初始保留在闲置区604的实体抹除单元的数目来估计上述斜率值。具体来说,如上所述,在存储器存储装置10出厂之前,制造商会使用量产工具来对存储器存储装置10执行开卡操作,以执行初始化出数据区602、闲置区604、系统区606与取代区608。数据区602的实体抹除单元为存储器存储装置10的使用者容量,闲置区604的实体抹除单元是用来轮替数据区602的实体抹除单元,倘若有效数据数介于第一预定值与第二预定值之间的实体抹除单元越多时,表示闲置区604中可用的实体抹除单元越少,而已被使用的比率可藉由将有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目除以初始保留在闲置区604的实体抹除单元的数目来获得。
图11是根据另一范例实施例所示出的存储器管理方法的流程图。
请参照图11,在步骤S1101中,存储器管理电路502记录每一所述实体抹除单元的有效数据数。
在步骤S1103中,存储器管理电路502将有效数据数介于第一预定值与第二预定值之间的实体抹除单元的数目除以初始保留在闲置区604的实体抹除单元的数目来估算一个斜率值,并且在步骤S1105中,存储器管理电路502会判断所计算出的斜率值是否小于斜率门槛值。
倘若所计算出的斜率值小于斜率门槛值时,在步骤S1107中,存储器管理电路502会从第一实体抹除单元中选取第二实体抹除单元来执行垃圾收集操作,以将第二实体抹除单元中的有效数据复制到第三实体抹除单元并对第二实体抹除单元执行抹除操作。
倘若所计算出的斜率值非小于斜率门槛值时,在步骤S1109中,存储器管理电路502会从数据区502中选取据最小有效数据数的第四实体抹除单元来执行垃圾收集操作,以将第四实体抹除单元中的有效数据复制到第三实体抹除单元并对第四实体抹除单元执行抹除操作。
综上所述,本发明的存储器管理方法会根据各实体抹除单元的有效数据数的分布情况,选取非具最小有效数据数的实体抹除单元来执行垃圾收集操作,由此可避免实体抹除单元因部分实体程序化单元存有有效数据而无法有效利用,提升写入效能,并延长可复写式非易失性存储器的寿命。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (20)
1.一种存储器管理方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元的每一个实体抹除单元具有多个实体程序化单元,所述存储器管理方法包括:
记录所述多个实体抹除单元中每一个实体抹除单元的有效数据数;
识别所述多个实体抹除单元之中的多个第一实体抹除单元,其中所述多个第一实体抹除单元的每个第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间;以及
倘若所述多个第一实体抹除单元的数目符合预先定义条件时,从所述多个第一实体抹除单元之中选取第二实体抹除单元,将所述第二实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的第三实体抹除单元,并对所述第二实体抹除单元进行抹除操作。
2.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
将所述多个实体抹除单元至少分组为数据区与闲置区;以及
从所述闲置区中选取所述第三实体抹除单元,
其中所述多个第一实体抹除单元是被分组至所述数据区。
3.根据权利要求2所述的存储器管理方法,其特征在于,还包括:
倘若所述多个第一实体抹除单元的所述数目不符合所述预先定义条件时,从所述数据区中选取第四实体抹除单元,将所述第四实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的所述第三实体抹除单元,并对所述第四实体抹除单元进行所述抹除操作,其中所述第四实体抹除单元的有效数据数小于所述数据区中其他实体抹除单元的有效数据数。
4.根据权利要求3所述的存储器管理方法,其特征在于,还包括:
根据所述数据区的实体抹除单元的有效数据数,产生对应所述可复写式非易失性存储器模块的有效数据数分布;
排序所述有效数据数分布以产生已排序有效数据数分布;
计算在所述已排序有效数据数分布上,对应所述多个第一实体抹除单元的斜率值;
判断所述斜率值是否小于斜率门槛值;
倘若所述斜率值小于所述斜率门槛值时,判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
倘若所述斜率值非小于所述斜率门槛值时,判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
5.根据权利要求3所述的存储器管理方法,其特征在于,还包括:
将所述多个第一实体抹除单元的数目除以初始保留在所述闲置区的实体抹除单元的数目以获得斜率值;
判断所述斜率值是否小于斜率门槛值;
倘若所述斜率值小于所述斜率门槛值时,判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
倘若所述斜率值非小于所述斜率门槛值时,判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
6.根据权利要求4所述的存储器管理方法,其中所述斜率门槛值为T,并且0.5≦T≦0.9。
7.根据权利要求6所述的存储器管理方法,其中所述斜率门槛值为0.8。
8.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元的每一个实体抹除单元具有多个实体程序化单元;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以记录所述多个实体抹除单元中每一个实体抹除单元的有效数据数,
其中所述存储器管理电路还用以识别所述多个实体抹除单元之中的多个第一实体抹除单元,其中所述多个第一实体抹除单元的每个第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间,
其中倘若所述多个第一实体抹除单元的数目符合预先定义条件时,所述存储器管理电路还用以从所述多个第一实体抹除单元之中选取第二实体抹除单元,下达指令序列以将所述第二实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的第三实体抹除单元,并对所述第二实体抹除单元进行抹除操作。
9.根据权利要求8所述的存储器控制电路单元,其中所述存储器管理电路还用以将所述多个实体抹除单元至少分组为数据区与闲置区,
其中所述存储器管理电路是从所述闲置区中选取所述第三实体抹除单元,
其中所述多个第一实体抹除单元是被分组至所述数据区。
10.根据权利要求9所述的存储器控制电路单元,其中
倘若所述多个第一实体抹除单元的所述数目不符合所述预先定义条件时,所述存储器管理电路从所述数据区中选取第四实体抹除单元,下达指令序列以将所述第四实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的所述第三实体抹除单元,并对所述第四实体抹除单元进行所述抹除操作,其中所述第四实体抹除单元的有效数据数小于所述数据区中其他实体抹除单元的有效数据数。
11.根据权利要求8所述的存储器控制电路单元,其中所述存储器管理电路还用以根据所述数据区的实体抹除单元的有效数据数,产生对应所述可复写式非易失性存储器模块的有效数据数分布,并且排序所述有效数据数分布以产生已排序有效数据数分布,
其中所述存储器管理电路还用以计算在所述已排序有效数据数分布上,对应所述多个第一实体抹除单元的斜率值,并且判断所述斜率值是否小于斜率门槛值,
其中倘若所述斜率值小于所述斜率门槛值时,所述存储器管理电路判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
其中倘若所述斜率值非小于所述斜率门槛值时,所述存储器管理电路判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
12.根据权利要求8所述的存储器控制电路单元,其中所述存储器管理电路还用以将所述多个第一实体抹除单元的数目除以初始保留在所述闲置区的实体抹除单元的数目以获得斜率值,并且判断所述斜率值是否小于斜率门槛值,
其中倘若所述斜率值小于所述斜率门槛值时,所述存储器管理电路判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
其中倘若所述斜率值非小于所述斜率门槛值时,所述存储器管理电路判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
13.根据权利要求11所述的存储器控制电路单元,其中所述斜率门槛值为T,并且0.5≦T≦0.9。
14.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元,所述多个实体抹除单元的每一个实体抹除单元具有多个实体程序化单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以记录所述多个实体抹除单元中每一个实体抹除单元的有效数据数,
其中所述存储器控制电路单元还用以识别所述多个实体抹除单元之中的多个第一实体抹除单元,其中所述多个第一实体抹除单元的每个第一实体抹除单元的有效数据数介于第一预定值与第二预定值之间,
其中倘若所述多个第一实体抹除单元的数目符合预先定义条件时,所述存储器控制电路单元还用以从所述多个第一实体抹除单元之中选取第二实体抹除单元,将所述第二实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的第三实体抹除单元,并对所述第二实体抹除单元进行抹除操作。
15.根据权利要求14所述的存储器存储装置,其中所述存储器管理电路还用以将所述多个实体抹除单元至少分组为数据区与闲置区,
其中所述存储器控制电路单元是从所述闲置区中选取所述第三实体抹除单元,
其中所述多个第一实体抹除单元是被分组至所述数据区。
16.根据权利要求15所述的存储器存储装置,其中
倘若所述多个第一实体抹除单元的所述数目不符合所述预先定义条件时,所述存储器控制电路单元从所述数据区中选取第四实体抹除单元,以将所述第四实体抹除单元中的多个有效数据复制至所述多个实体抹除单元之中的所述第三实体抹除单元,并对所述第四实体抹除单元进行所述抹除操作,其中所述第四实体抹除单元的有效数据数小于所述数据区中其他实体抹除单元的有效数据数。
17.根据权利要求16所述的存储器存储装置,其中所述存储器控制电路单元还用以根据所述数据区的实体抹除单元的有效数据数,产生对应所述可复写式非易失性存储器模块的有效数据数分布,并且排序所述有效数据数分布以产生已排序有效数据数分布,
其中所述存储器控制电路单元还用以计算在所述已排序有效数据数分布上,对应所述多个第一实体抹除单元的斜率值,并且判断所述斜率值是否小于斜率门槛值,
其中倘若所述斜率值小于所述斜率门槛值时,所述存储器控制电路单元判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
其中倘若所述斜率值非小于所述斜率门槛值时,所述存储器管理电路判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
18.根据权利要求16所述的存储器存储装置,其中所述存储器控制电路单元还用以将所述多个第一实体抹除单元的数目除以初始保留在所述闲置区的实体抹除单元的数目以获得斜率值,并且判断所述斜率值是否小于斜率门槛值,
其中倘若所述斜率值小于所述斜率门槛值时,所述存储器控制电路单元判断所述多个第一实体抹除单元的所述数目符合所述预先定义条件;以及
其中倘若所述斜率值非小于所述斜率门槛值时,所述存储器控制电路单元判断所述多个第一实体抹除单元的所述数目不符合所述预先定义条件。
19.根据权利要求17所述的存储器存储装置,其中所述斜率门槛值为T,并且0.5≦T≦0.9。
20.根据权利要求19所述的存储器存储装置,其中所述斜率门槛值为0.8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710430934.2A CN109032957B (zh) | 2017-06-09 | 2017-06-09 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710430934.2A CN109032957B (zh) | 2017-06-09 | 2017-06-09 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032957A true CN109032957A (zh) | 2018-12-18 |
CN109032957B CN109032957B (zh) | 2022-11-22 |
Family
ID=64628751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710430934.2A Active CN109032957B (zh) | 2017-06-09 | 2017-06-09 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032957B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258505A (zh) * | 2020-01-21 | 2020-06-09 | 合肥兆芯电子有限公司 | 快闪存储器的数据合并方法、控制电路单元与存储装置 |
TWI717755B (zh) * | 2019-06-12 | 2021-02-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866429A (zh) * | 2014-02-26 | 2015-08-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN105022695A (zh) * | 2014-04-21 | 2015-11-04 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元与存储器存储装置 |
CN105988950A (zh) * | 2015-02-03 | 2016-10-05 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
US20170052720A1 (en) * | 2015-08-19 | 2017-02-23 | Phison Electronics Corp. | Data protection method, memory contorl circuit unit and memory storage apparatus |
US20170083436A1 (en) * | 2015-09-22 | 2017-03-23 | Samsung Electronics Co., Ltd. | Memory controller, non-volatile memory system, and method operating same |
US9652330B2 (en) * | 2013-11-28 | 2017-05-16 | Phison Electronics Corp. | Method for data management and memory storage device and memory control circuit unit |
-
2017
- 2017-06-09 CN CN201710430934.2A patent/CN109032957B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652330B2 (en) * | 2013-11-28 | 2017-05-16 | Phison Electronics Corp. | Method for data management and memory storage device and memory control circuit unit |
CN104866429A (zh) * | 2014-02-26 | 2015-08-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN105022695A (zh) * | 2014-04-21 | 2015-11-04 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元与存储器存储装置 |
CN105988950A (zh) * | 2015-02-03 | 2016-10-05 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
US20170052720A1 (en) * | 2015-08-19 | 2017-02-23 | Phison Electronics Corp. | Data protection method, memory contorl circuit unit and memory storage apparatus |
US20170083436A1 (en) * | 2015-09-22 | 2017-03-23 | Samsung Electronics Co., Ltd. | Memory controller, non-volatile memory system, and method operating same |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI717755B (zh) * | 2019-06-12 | 2021-02-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN111258505A (zh) * | 2020-01-21 | 2020-06-09 | 合肥兆芯电子有限公司 | 快闪存储器的数据合并方法、控制电路单元与存储装置 |
CN111258505B (zh) * | 2020-01-21 | 2023-09-26 | 合肥兆芯电子有限公司 | 快闪存储器的数据合并方法、控制电路单元与存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109032957B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681654B (zh) | 映射表载入方法与存储器存储装置 | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN109491588A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106990921B (zh) | 数据写入方法、存储器存储装置与存储器控制电路单元 | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
TW201348960A (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN107590080A (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
TWI642059B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107346211A (zh) | 映射表加载方法、内存控制电路单元与内存储存装置 | |
CN106775479A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN107045890A (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN109273033A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN106959818A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN109032957A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106648443B (zh) | 有效数据合并方法、存储器控制器与存储器存储装置 | |
CN107122308A (zh) | 平均磨损方法、内存控制电路单元及内存储存装置 | |
CN107103930A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN107204205A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110442299A (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN110275668A (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 |