区块管理方法、存储器控制器与存储器存储装置.pdf

上传人:a*** 文档编号:1566341 上传时间:2018-06-25 格式:PDF 页数:21 大小:718.06KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110354608.0

申请日:

2011.11.10

公开号:

CN103106148A

公开日:

2013.05.15

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 12/06登记生效日:20161216变更事项:专利权人变更前权利人:群联电子股份有限公司变更后权利人:合肥兆芯电子有限公司变更事项:地址变更前权利人:中国台湾苗栗县竹南镇群义路1号变更后权利人:安徽省合肥市高新区创新产业园二期F3号楼12-13层|||授权|||实质审查的生效IPC(主分类):G06F 12/06申请日:20111110|||公开

IPC分类号:

G06F12/06; G06F3/06

主分类号:

G06F12/06

申请人:

群联电子股份有限公司

发明人:

朱健华

地址:

中国台湾苗栗县竹南镇群义路1号

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

臧建明

PDF下载: PDF下载
内容摘要

一种区块管理方法、存储器控制器与存储器存储装置。此方法用以管理存储器存储装置中可复写式非易失性存储器模组的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区块中错误可修正实体区块与错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块及其所对应的错误位元数来选择用以写入数据的实体区块。据此可以提升存储器存储装置的数据稳定性。

权利要求书

权利要求书一种区块管理方法,用以管理一可复写式非易失性存储器模组中的多个实体区块,其特征在于,该方法包括:
维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数;以及
依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。
根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:
对该些实体区块执行一写入测试、一抹除测试,以及一读取测试;
在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是通过该写入测试与该抹除测试,且经过该读取测试所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及
将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。
根据权利要求2所述的区块管理方法,其中在对该些实体区块执行该写入测试、该抹除测试,以及该读取测试的步骤之后,该方法还包括:
在该些实体区块中识别出至少一错误不可修正实体区块,其中该至少一错误不可修正实体区块是未通过该写入测试及/或该抹除测试的实体区块,或是通过该写入测试与该抹除测试但对应的该错误位元数大于该错误位元数门槛值的实体区块;以及
将该至少一错误不可修正实体区块记录在该错误信息对应表。
根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:
对该些实体区块执行一数据写入操作以及一数据读取操作;
在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及
将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。
根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:
在使用该可复写式非易失性存储器模组的过程中,依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息对应表。
根据权利要求1所述的区块管理方法,其中依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数选择用以写入数据的实体区块的步骤包括:
查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率;以及
当要将一数据写入该可复写式非易失性存储器模组时,根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。
根据权利要求6所述的区块管理方法,其中查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为该至少一区块队列的步骤还包括:
在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。
根据权利要求6所述的区块管理方法,还包括:
根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。
根据权利要求1所述的区块管理方法,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。
一种存储器控制器,用于管理一存储器存储装置中的一可复写式非易失性存储器模组,其特征在于,该存储器控制器包括:
一主机系统介面,用以耦接一主机系统;
一存储器介面,用以耦接该可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组包括多个实体区块;以及
一存储器管理电路,耦接至该主机系统介面与该存储器介面,该存储器管理电路用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。
根据权利要求10所述的存储器控制器,其中该存储器管理电路对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。
根据权利要求10所述的存储器控制器,其中在使用该可复写式非易失性存储器模组的过程中,该存储器管理电路依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态还新该错误信息对应表。
根据权利要求10所述的存储器控制器,其中该存储器管理电路查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,
当要将一数据写入该可复写式非易失性存储器模组时,该存储器管理电路根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。
根据权利要求13所述的存储器控制器,其中该存储器管理电路还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。
根据权利要求13所述的存储器控制器,其中该存储器管理电路根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。
根据权利要求10所述的存储器控制器,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。
一种存储器存储装置,其特征在于,包括:
一可复写式非易失性存储器模组,包括多个实体区块;
一连接器,用以耦接一主机系统;以及
一存储器控制器,耦接至该可复写式非易失性存储器模组与该连接器,该存储器控制器用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。
根据权利要求17所述的存储器存储装置,其中该存储器控制器对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。
根据权利要求17所述的存储器存储装置,其中在使用该可复写式非易失性存储器模组的过程中,该存储器控制器依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息对应表。
根据权利要求17所述的存储器存储装置,其中该存储器控制器查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,
当要将一数据写入该可复写式非易失性存储器模组时,该存储器控制器根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。
根据权利要求20所述的存储器存储装置,其中该存储器控制器还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。
根据权利要求20所述的存储器存储装置,其中该存储器控制器根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。
根据权利要求17所述的存储器存储装置,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。

说明书

说明书区块管理方法、存储器控制器与存储器存储装置
技术领域
本发明涉及一种区块管理方法,尤其涉及一种管理可复写式非易失性存储器模组的实体区块的方法,以及使用此方法的存储器控制器与存储器存储装置。
背景技术
可复写式非易失性存储器(rewritable non‑volatile memory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physical page)。其中,实体区块为数据抹除的最小单位,而实体页面则是数据写入的最小单位。
当使用可复写式非易失性存储器的存储装置(以下称为存储器存储装置)被制造完成而进行第一次格式化(亦称为开卡)时,存储器存储装置的存储器控制器会对可复写式非易失性存储器的所有实体区块进行磁盘扫瞄以识别出正常及损毁的实体区块。存储器控制器会将正常的实体区块优先分组至数据区与闲置区并且将剩余的实体区块分组至取代区。其中,数据区的实体区块是用以存储来自主机系统的数据,闲置区的实体区块是用以轮替数据区中的实体区块,而取代区的实体区块则是用以在存储器存储装置运作过程中取代发生损坏的实体区块。
一般来说,正常的实体区块亦会有不同的使用寿命,因此在使用存储器存储装置的过程中,倘若实体区块之间的使用寿命差距过大,则容易造成数据不稳定的情况。
发明内容
有鉴于此,本发明提供一种区块管理方法、存储器控制器与存储器存储装置,能减少因可复写式非易失性存储器模组中实体区块的寿命差距过大而造成数据不稳定的现象。
本发明提出一种区块管理方法,用以管理可复写式非易失性存储器模组中的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。
从另一观点来看,本发明提出一种存储器控制器,用于管理存储器存储装置中的可复写式非易失性存储器模组。此存储器控制器包括主机系统介面、存储器介面,以及存储器管理电路。主机系统介面用以耦接至主机系统。存储器介面用以耦接可复写式非易失性存储器模组,此可复写式非易失性存储器模组包括多个实体区块。存储器管理电路耦接至主机系统介面与存储器介面,存储器管理电路用以维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。
从又一观点来看,本发明提出一种存储器存储装置,包括可复写式非易失性存储器模组、连接器以及存储器控制器。可复写式非易失性存储器模组包括多个实体区块。连接器用以耦接主机系统。存储器控制器耦接至可复写式非易失性存储器模组与连接器,存储器控制器用以维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。
基于上述,本发明是依据各实体区块是否通过写入测试与抹除测试以及其错误位元数来对实体区块进行管理。进一步来说,本发明是依照实体区块的错误位元数来决定是否使用该实体区块来写入数据。据此,能让可复写式非易失性存储器模组中的实体区块使用寿命更为平均,从而增加数据稳定性。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明一范例实施例显示的使用存储器存储装置的主机系统的示意图。
图1B是根据本发明范例实施例所显示的电脑、输入/输出装置与存储器存储装置的示意图。
图1C是根据本发明另一范例实施例所显示的主机系统与存储器存储装置的示意图。
图2是显示图1A所示的存储器存储装置的概要方块图。
图3是根据本发明一范例实施例显示的存储器控制器的概要方块图。
图4是根据本发明的一范例实施例所显示的管理实体区块的示意图。
图5A、5B是根据本发明的一范例实施例所显示的错误信息对应表的示意图。
图6是根据本发明的一范例实施例所显示的区块管理方法的流程图。
图7是根据本发明的另一范例实施例所显示的区块管理方法的流程图。
主要元件符号说明:
1000:主机系统
1100:电脑
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:系统汇流排
1110:数据传输介面
1202:鼠标
1204:键盘
1206:显示器
1208:印表机
1212:移动盘
1214:记忆卡
1216:固态硬盘
1310:数码相机
1312:SD卡
1314:MMC卡
1316:记忆棒
1318:CF卡
1320:嵌入式存储装置
100:存储器存储装置
102:连接器
104:存储器控制器
106:可复写式非易失性存储器模组
1041:主机系统介面
1043:存储器管理电路
1045:存储器介面
3002:错误检查与校正电路
3004:缓冲存储器
3006:电源管理电路
410(0)~410(N):实体区块
502:数据区
504:闲置区
506:系统区
508:取代区
610(0)~610(L):逻辑区块
700、800:错误信息对应表
PBA(i)、PBA(j)、PBA(k)、PBA(1)、PBA(m)、PBA(n)、PBA(a)、PBA(b)、PBA(c)、PBA(d):实体区块位址
800‑0、800‑1、800‑2、800‑(N‑1)、800‑N:分表
S610~S640:本发明的一实施例所述的区块管理方法的各步骤
S710~S740:本发明的另一实施例所述的区块管理方法的各步骤
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器存储装置会与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。另外,亦有存储器存储装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。一般来说在存储器存储装置出厂时,可复写式非易失性存储器模组便包括正常的实体区块与损坏的实体区块(亦称,坏实体区块),而各正常实体区块随着其读取数据错误率的不同会有相异的使用寿命。本发明便是基于上述观点而提出的一种区块管理方法、存储器控制器与存储器存储装置,藉由平均实体区块的使用寿命来增加数据的正确性。
图1A是根据本发明一范例实施例所显示的使用存储器存储装置的主机系统的示意图。
主机系统1000包括电脑1100与输入/输出(Input/Output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(Random AccessMemory,RAM)1104、系统汇流排1108以及数据传输介面1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与印表机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明范例实施例中,存储器存储装置100是通过数据传输介面1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器存储装置100,或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所示的记忆卡1214、移动盘1212、或固态硬盘(Solid State Drive,SSD)1216。
一般而言,主机系统1000为可存储数据的任意系统。虽然在本范例实施例中主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机1310时,存储器存储装置则为其所使用的安全数位(Secure Digital,SD)卡1312、多媒体记忆(Multimedia Card,MMC)卡1314、记忆棒(Memory Stick)1316、小型快闪(Compact Flash,CF)卡1318或嵌入式存储装置1320(如图1C所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
图2是显示图1A所示的存储器存储装置100的方块图。请参照图2,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。
连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支援的传输介面种类为序列先进附件(Serial Advanced Technology Attachment,SATA)介面。然而在其他范例实施例中,连接器102的传输介面种类也可以是通用序列汇流排(Universal Serial Bus,USB)介面、多媒体存储卡(Multimedia Card,MMC)介面、平行先进附件(Parallel Advanced Technology Attachment,PATA)介面、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,IEEE)1394介面、高速周边零件连接介面(PeripheralComponent Interconnect Express,PCI Express)介面、安全数位(SecureDigital,SD)介面、记忆棒(Memory Stick,MS)介面、小型快闪(CompactFlash,CF)介面,或整合驱动电子(Integrated Drive Electronics,IDE)介面等任何适用的介面,在此并不加以限制。
存储器控制器104会执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本范例实施例的区块管理方法而依照错误位元数来对可复写式非易失性存储器模组106中的实体区块进行使用与否的管理。本范例实施例的区块管理方法将于后配合图示再作说明。
可复写式非易失性存储器模组106耦接至存储器控制器104。可复写式非易失性存储器模组106包括多个实体区块,且每一实体区块包括多个实体页面。举例来说,可复写式非易失性存储器模组106为多阶记忆胞(Multi Level Cell,MLC)NAND快闪存储器模组,但本发明不限于此,可复写式非易失性存储器模组106也可以是单阶记忆胞(SingleLevel Cell,SLC)NAND快闪存储器模组、其他快闪存储器模组或任何具有相同特性的存储器模组。
图3是根据本发明一范例实施例所显示的存储器控制器的概要方块图。请参照图3,存储器控制器104包括主机系统介面1041、存储器管理电路1043,以及存储器介面1045。
主机系统介面1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统介面1041是用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统介面1041而传送至存储器管理电路1043。在本范例实施例中,主机系统介面1041对应连接器102而为SATA介面,而在其他范例实施例中,主机系统介面1041也可以是USB介面、MMC介面、PATA介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面标准的介面。
存储器管理电路1043是用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器存储装置100运作时,上述控制指令会被执行以实现本范例实施例的区块管理方法。
在一范例实施例中,存储器管理电路1043的控制指令是以韧体型式来实作。例如,存储器管理电路1043具有微处理器单元(未显示)与只读存储器(未显示),且上述控制指令是被烧录在只读存储器中。当存储器存储装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的区块管理方法。
在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程式码型式存储于可复写式非易失性存储器模组106的特定区域(例如,可复写式非易失性存储器模组106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。其中,只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的区块管理方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件型式来实作。
存储器介面1045耦接至存储器管理电路1043,以使存储器控制器104与可复写式非易失性存储器模组106相耦接。据此,存储器控制器104可对可复写式非易失性存储器模组106进行相关运作。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器介面1045转换为可复写式非易失性存储器模组106所能接受的格式。
在本发明的另一范例实施例中,存储器控制器104还包括错误检查与校正电路3002。错误检查与校正电路3002耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3002会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模组106。之后当存储器管理电路1043从可复写式非易失性存储器模组106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3002会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序,以识别该笔数据是否存在错误位元。
在本发明的另一范例实施例中,存储器控制器104还包括缓冲存储器3004。缓冲存储器3004可以是静态随机存取存储器(Static RandomAccess Memory,SRAM)、或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等,本发明并不加以限制。缓冲存储器3004耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非易失性存储器模组106的数据。
在本发明又一范例实施例中,存储器控制器104还包括电源管理电路3006。电源管理电路3006耦接至存储器管理电路1043,用以控制存储器存储装置100的电源。
图4是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器模组的实体区块的示意图。
请参照图4,本范例实施例的可复写式非易失性存储器模组106包括实体区块410(0)~410(N),且每一实体区块包括数个实体页面。存储器控制器104中的存储器管理电路1043会将实体区块410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器存储装置100的制造商依据所使用的可复写式非易失性存储器模组106的容量来设定。
逻辑上属于数据区502与闲置区504的实体区块是用以存储来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已存储数据的实体区块,而闲置区504的实体区块是用以写入新数据的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。或者,当需要对一逻辑区块执行数据合并程序时,存储器管理电路1043会从闲置区504提取实体区块并将数据写入其中,以替换原先映射此逻辑区块的实体区块。
逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非易失性存储器模组106的制造商与型号、可复写式非易失性存储器模组106的实体区块数、每一实体区块的实体页面数等等。
逻辑上属于取代区508的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,在存储器存储装置100运作期间,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,存储器管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。也因此,在存储器存储装置100的运作过程中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替存储数据的实体区块会变动地属于数据区502或闲置区504。
为了让主机系统1000能对可复写式非易失性存储器模组106进行存取,存储器管理电路1043会配置数个逻辑区块610(0)~610(L)以映射数据区502中的实体区块410(0)~410(F‑1)。其中每一逻辑区块包括多个逻辑页面,而逻辑区块610(0)~610(L)中的逻辑页面会依序映射实体区块410(0)~410(F‑1)中的实体页面。
详言之,存储器管理电路1043将所配置的逻辑区块610(0)~610(L)提供给主机系统1000,并维护逻辑区块‑实体区块映射表(logicalblock‑physical block mapping table)以记录逻辑区块610(0)~610(L)与实体区块410(0)~410(F‑1)的映射关系。因此,当主机系统1000欲存取一逻辑存取位址时,存储器管理电路1043会将此逻辑存取位址转换为对应的逻辑区块的逻辑页面,再透过逻辑区块‑实体区块映射表找到其所映射的实体页面来进行存取。
在本范例实施例中,当存储器存储装置100被制造完成而进行第一次格式化(亦称为开卡)时,存储器控制器104中的存储器管理电路1043会对可复写式非易失性存储器模组106的所有实体区块进行写入测试、抹除测试,以及读取测试。针对所有通过写入测试与抹除测试的实体区块,倘若其经过读取测试而产生的错误位元数小于或等于错误位元数门槛值,则该些实体区块将被存储器管理电路1043识别为错误可修正实体区块(亦即,其中的错误位元可被错误检查与校正电路3002校正)。一般来说,存储器管理电路1043在开卡程序中会优先将错误可修正实体区块分组至数据区502与闲置区504。错误位元数门槛值的大小与可复写式非易失性存储器模组106的规格有关。举例而言,倘若错误位元数门槛值为48,表示错误检查与校正电路3002具有检查与校正48个错误位元的能力。亦即,一旦所读取的数据有超过48个错误位元,该笔数据便无法被错误检查与校正电路3002校正。然而必须了解的是,本发明并不对错误位元数门槛值的大小加以限制。
除此之外,存储器管理电路1043会将有通过写入测试与抹除测试,但在经过读取测试所产生的错误位元数大于错误位元数门槛值的实体区块,以及未通过写入测试及/或抹除测试的实体区块都识别为错误不可修正实体区块。
在本范例实施例中,存储器管理电路1043会将各错误可修正实体区块与其错误位元数的对应关系记录于一错误信息对应表。
在另一范例实施例中,存储器管理电路1043可仅对可复写式非易失性存储器模组106的所有实体区块进行写入测试及读取测试来取得错误位元数,并据以建立错误信息对应表。
在又一范例实施例中,存储器管理电路1043也可在存储器存储装置100的运行中藉由数据写入及读取来建立错误信息对应表。
图5A是根据本发明的一范例实施例所显示的错误信息对应表的示意图。如图5A的错误信息对应表700所示,假设错误位元数门槛值为48,存储器管理电路1043将以0至48个错误位元为键值建立49个栏位,以分别记录所对应的错误位元数以及符合该栏位的键值的错误可修正实体区块的实体区块位址。此外,存储器管理电路1043会在错误信息对应表700建立一不可用实体区块栏位,以记录所有错误不可修正实体区块的实体区块位址。举例来说,参照错误信息对应表700可得知实体区块位址为PBA(k)以及PBA(1)的错误可修正实体区块具有1个错误位元、实体区块位址为PBA(a)以及PBA(b)的错误可修正实体区块具有48个错误位元,且实体区块位址为PBA(c)以及PBA(d)的实体区块则属于错误不可修正实体区块。
图5B是根据本发明的另一范例实施例所显示的错误信息对应表的示意图。假设错误位元数门槛值为48,图5B的错误信息对应表800包括50个分表(例如,分表800‑0、800‑1、800‑2、800‑(N‑1)、800‑N)以分别记录所对应的错误位元数为0至48的错误可修正实体区块的实体区块位址以及错误不可修正实体区块的实体区块位址。在本范例实施例中,分表800‑0是用以记录所有具有0个错误位元的错误可修正实体区块的实体区块位址(例如,实体区块位址PBA(i)、PBA(i))、分表800‑1是用以记录所有具有1个错误位元的错误可修正实体区块的实体区块位址(例如,实体区块位址PBA(k)、PBA(1)),而分表800‑N则是用以记录所有错误不可修正实体区块的实体区块位址(例如,实体区块位址PBA(c)、PBA(d))。
必须特别说明的是,图5A、5B仅是为了说明而举出的范例,本发明并不对存储器管理电路1043如何实作错误信息对应表加以限制。且标示在图5A、5B中的各实体区块位址也仅是为了方便说明,与其所对应的实体区块实际在可复写式非易失性存储器模组106是否相邻无关。
存储器管理电路1043会将进行开卡程序后首次建立完成的错误信息对应表存储在可复写式非易失性存储器模组106中的某一错误可修正实体区块(例如,被区分为是统区506的错误可修正实体区块)。尔后,在主机系统100对存储器存储装置100进行存取时,存储器管理电路1043会由系统区506将错误信息对应表读回缓冲存储器3004,并利用错误信息对应表来依据各错误可修正实体区块的错误位元数去选择用以写入数据的实体区块。基本上,存储器管理电路1043会较常使用所对应的错误位元数较少的错误可修正实体区块。
进一步来说,在存储器存储装置100被使用的期间,存储器管理电路1043会查询错误信息对应表来取得各错误可修正实体区块的错误位元数,并据以将所有错误可修正实体区块分为多个区块队列。其中各区块队列分别对应一区块使用率,且所对应的错误位元数越少的区块队列的区块使用率越高。
在一范例实施例中,存储器管理电路1043是直接依据错误位元数的数值将所有错误可修正实体区块分为数个区块队列。例如,存储器管理电路1043将所对应的错误位元数为0的所有错误可修正实体区块分为同一个区块队列,并将所对应的错误位元数为1的所有错误可修正实体区块分为同一个区块队列,以此类推。
在另一范例实施例中,存储器管理电路1043会依据错误检查与校正电路3002能校正的错误位元数的上限(即,错误位元数门槛值)定义数个错误位元数区间,并将所对应的错误位元数属于相同错误位元数区间的所有错误可修正实体区块分为同一区块队列。举例来说,假设错误位元数门槛值为48,本范例实施例的存储器管理电路1043会将对应的错误位元数为0的所有错误可修正实体区块分为第一区块队列、将对应的错误位元数介于1至20位元的错误可修正实体区块分为第二区块队列、将对应的错误位元数介于21至40位元的错误可修正实体区块分为第三区块队列,以及将对应的错误位元数介于41至48位元的错误可修正实体区块分为第四区块队列。
然而必须说明的是,本发明并不对区块队列的数量以及划分规则加以限定。
每当要将一数据写入可复写式非易失性存储器模组106时,存储器管理电路1043根据各区块队列的区块使用率选择一区块队列,并利用所选的区块队列中的错误可修正实体区块来写入数据。举例来说,假设存储器管理电路1043将所有的错误可修正实体区块分为4个区块队列(以下称第一、第二、第三,以及第四区块队列),且这4个区块队列分别对应的区块使用率为70%、15%、10%,以及5%。那么在100次写入数据的操作中,存储器管理电路1043会有70次从第一区块队列取得用以写入数据的错误可修正实体区块、有15次从第二区块队列取得用以写入数据的错误可修正实体区块、有10次从第三区块队列取得用以写入数据的错误可修正实体区块,并且有5次从第四区块队列取得用以写入数据的错误可修正实体区块。
在另一范例实施例中,为了提供更佳的数据稳定性,对于所有的错误可修正实体区块,存储器管理电路1043仅会将所对应的错误位元数小于或等于特定预设值的错误可修正实体区块分为数个区块队列。举例来说,假设特定预设值为40且错误位元数门槛值为48,对于所对应的错误位元数大于40位元的所有错误可修正实体区块,即便其错误位元数并未超过错误检查与校正电路3002能校正的错误位元数上限,存储器管理电路1043仍不会将其分入任何区块队列。亦即,在有数据需要被写入可复写式非易失性存储器模组106时,存储器管理电路1043并不会使用所对应的错误位元数大于特定预设值的错误可修正实体区块来写入数据。如此一来可避免该些错误可修正实体区块因已有较高的错误位元数,而在此次写入数据时发生错误位元数激增且超过错误位元数门槛值的情况。
必须特别说明的是,在使用可复写式非易失性存储器模组106的过程中,存储器管理电路1043会依据各错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。亦即,存储器管理电路1043将使错误信息对应表能反映每一错误可修正实体区块目前的错误位元数。而一旦有错误可修正实体区块的错误位元数变为大于错误位元数门槛值,存储器管理电路1043则重新将此错误可修正实体区块识别为错误不可修正实体区块,并将其记录在错误信息对应表(例如,记录在图5A所示的不可用实体区块栏位,或图5B所示的不可用实体区块分表800‑N)。
当需要抹除某个已使用的实体区块中的数据时,存储器管理电路1043也会根据错误信息对应表决定此实体区块在被抹除后是否要加入区块队列。具体来说,存储器管理电路1043会查找错误信息对应表以取得此实体区块的错误位元数,再根据区块队列的划分规则来判断具有此错误位元数的实体区块是否可被分入任何区块队列。举例来说,假设存储器管理电路1043定义有三个区块队列,其中第一区块队列包括错误位元数为0的错误可修正实体区块、第二区块队列包括错误位元数介于1至20位元的错误可修正实体区块,且第三区块队列包括错误位元数介于21至40位元的错误可修正实体区块。若在查找错误信息对应表取得即将执行抹除程序的实体区块的错误位元数为25个位元,那么在抹除其中的数据后,存储器管理电路1043会将该实体区块记录在第三区块队列中。而倘若在查找错误信息对应表取得此实体区块的错误位元数为45位元,那么在抹除其中的数据后该实体区块将不会被加入任何区块队列。
图6是根据本发明的一范例实施例所显示的区块管理方法的流程图。
请参阅图6,在存储器存储装置100被制造完成而进行开卡程序时,首先如步骤S610所示,存储器控制器104中的存储器管理电路1043对可复写式非易失性存储器模组106中的所有实体区块执行写入测试、抹除测试,以及读取测试。
接着在步骤S620中,存储器管理电路1043从所有的实体区块中识别出错误可修正实体区块,并将错误可修正实体区块与所对应的错误位元数的对应关系记录于错误信息对应表。其中,错误可修正实体区块是指通过写入测试与抹除测试,且经过读取测试所产生的错误位元数小于或等于错误位元数门槛值的实体区块。
接着如步骤S630所示,存储器管理电路1043依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。在本范例实施例中,所对应的错误位元数较低的实体区块会具有较高的使用率。并且如步骤S640所示,存储器管理电路1043依据错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。
在使用可复写式非易失性存储器模组106的过程中,存储器管理电路1043会反复执行步骤S630及S640的动作来维护错误信息对应表,以确保错误信息对应表记录的是各错误可修正实体区块目前的错误位元数,而存储器管理电路1043是根据错误信息对应表所记录的错误可修正实体区块与错误位元数的对应关系来决定如何使用错误可修正实体区块。
图7是根据本发明的另一范例实施例所显示的区块管理方法的流程图。在本范例实施例中,存储器管理电路1043可在存储器存储装置100出厂前藉由测试操作来维护错误信息对应表,亦可在存储器存储装置100运行中藉由数据写入及读取操作来建立错误信息对应表。
详细地说,在存储器存储装置100被制造完成后,如步骤S710所示,在存储器存储装置100出厂前,存储器管理电路1043于开卡程序时对可复写式非易失性存储器模组106中的所有实体区块执行写入测试、抹除测试,以及读取测试,以从中识别出错误可修正实体区块,并据以维护错误信息对应表。亦即,存储器管理电路1043将错误可修正实体区块与所对应的错误位元数的对应关系记录在错误信息对应表。
尔后如步骤S720所示,在存储器存储装置100出厂后,存储器管理电路1043对可复写式非易失性存储器模组106中的所有实体区块执行数据写入操作以及数据读取操作,进而在上述实体区块中识别出错误可修正实体区块,并据以维护错误信息对应表。具体来说,存储器管理电路1043会从实体区块中找出经过数据读取操作而产生的错误位元数小于或等于错误位元数门槛值的实体区块以识别为错误可修正实体区块,并将错误可修正实体区块与所对应的错误位元数的对应关系记录于错误信息对应表。
接下来如步骤S730所示,存储器管理电路1043依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。并如步骤S740所示,存储器管理电路1043依据错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。
综上所述,本发明所述的区块管理方法、存储器控制器与存储器存储装置会维护一错误信息对应表以记录每一错误可修正实体区块所对应的错误位元数,并根据各实体区块的错误位元数来选择要利用哪个实体区块来写入数据。以上述方式对实体区块进行管理不仅能平均可复写式非易失性存储器模组中的各实体区块的使用寿命,还能增加存储器存储装置中的数据稳定性。
虽然本发明已以实施例揭示如上,但其并非用以限定本发明,任何所属技术领域的技术人员,在不脱离本发明的精神和范围内,当可作适当的改动和同等替换,故本发明的保护范围应当以本申请权利要求所界定的范围为准。

区块管理方法、存储器控制器与存储器存储装置.pdf_第1页
第1页 / 共21页
区块管理方法、存储器控制器与存储器存储装置.pdf_第2页
第2页 / 共21页
区块管理方法、存储器控制器与存储器存储装置.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《区块管理方法、存储器控制器与存储器存储装置.pdf》由会员分享,可在线阅读,更多相关《区块管理方法、存储器控制器与存储器存储装置.pdf(21页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103106148 A(43)申请公布日 2013.05.15CN103106148A*CN103106148A*(21)申请号 201110354608.0(22)申请日 2011.11.10G06F 12/06(2006.01)G06F 3/06(2006.01)(71)申请人群联电子股份有限公司地址中国台湾苗栗县竹南镇群义路1号(72)发明人朱健华(74)专利代理机构北京同立钧成知识产权代理有限公司 11205代理人臧建明(54) 发明名称区块管理方法、存储器控制器与存储器存储装置(57) 摘要一种区块管理方法、存储器控制器与存储器存储装置。此方法用以管理存储器。

2、存储装置中可复写式非易失性存储器模组的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区块中错误可修正实体区块与错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块及其所对应的错误位元数来选择用以写入数据的实体区块。据此可以提升存储器存储装置的数据稳定性。(51)Int.Cl.权利要求书3页 说明书10页 附图7页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书10页 附图7页(10)申请公布号 CN 103106148 ACN 103106148 A1/3页21.一种区块管理方法,用以管理一可复写式非易失性存储器模组。

3、中的多个实体区块,其特征在于,该方法包括:维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数;以及依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。2.根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:对该些实体区块执行一写入测试、一抹除测试,以及一读取测试;在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是通过该写入测。

4、试与该抹除测试,且经过该读取测试所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。3.根据权利要求2所述的区块管理方法,其中在对该些实体区块执行该写入测试、该抹除测试,以及该读取测试的步骤之后,该方法还包括:在该些实体区块中识别出至少一错误不可修正实体区块,其中该至少一错误不可修正实体区块是未通过该写入测试及/或该抹除测试的实体区块,或是通过该写入测试与该抹除测试但对应的该错误位元数大于该错误位元数门槛值的实体区块;以及将该至少一错误不可修正实体区块记录在该错误信息对应表。4.根据权利要求1所述的。

5、区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:对该些实体区块执行一数据写入操作以及一数据读取操作;在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。5.根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:。

6、在使用该可复写式非易失性存储器模组的过程中,依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息对应表。6.根据权利要求1所述的区块管理方法,其中依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数选择用以写入数据的实体区块的步骤包括:查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以权 利 要 求 书CN 103106148 A2/3页3将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率;以及当要将一数据写入该可复写式非易失性存储器模组时,根据该至少一区块队列。

7、的该区块使用率选择实体区块来写入该数据。7.根据权利要求6所述的区块管理方法,其中查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为该至少一区块队列的步骤还包括:在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。8.根据权利要求6所述的区块管理方法,还包括:根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。9.根据权利要求1所述的区块管理方法,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。10.一种存储器。

8、控制器,用于管理一存储器存储装置中的一可复写式非易失性存储器模组,其特征在于,该存储器控制器包括:一主机系统介面,用以耦接一主机系统;一存储器介面,用以耦接该可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组包括多个实体区块;以及一存储器管理电路,耦接至该主机系统介面与该存储器介面,该存储器管理电路用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。11.根据权利要求10所述的存储器控。

9、制器,其中该存储器管理电路对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。12.根据权利要求10所述的存储器控制器,其中在使用该可复写式非易失性存储器模组的过程中,该存储器管理电路依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态还新该错误信息对应表。13.根据权利要求10所述的存储器控制器,其中该存储器管理电路查询该错误。

10、信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,当要将一数据写入该可复写式非易失性存储器模组时,该存储器管理电路根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。14.根据权利要求13所述的存储器控制器,其中该存储器管理电路还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修权 利 要 求 书CN 103106148 A3/3页4正实体区块分为该至少一区块队列。15.根据权利要求13所述的存储器控制器,其中该存储器管理电路根据该错误信息对。

11、应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。16.根据权利要求10所述的存储器控制器,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。17.一种存储器存储装置,其特征在于,包括:一可复写式非易失性存储器模组,包括多个实体区块;一连接器,用以耦接一主机系统;以及一存储器控制器,耦接至该可复写式非易失性存储器模组与该连接器,该存储器控制器用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应。

12、的该错误位元数来选择用以写入数据的实体区块。18.根据权利要求17所述的存储器存储装置,其中该存储器控制器对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。19.根据权利要求17所述的存储器存储装置,其中在使用该可复写式非易失性存储器模组的过程中,该存储器控制器依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息。

13、对应表。20.根据权利要求17所述的存储器存储装置,其中该存储器控制器查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,当要将一数据写入该可复写式非易失性存储器模组时,该存储器控制器根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。21.根据权利要求20所述的存储器存储装置,其中该存储器控制器还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。22.根据权利要求20所述的存储器存储装置,其中该存储器。

14、控制器根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。23.根据权利要求17所述的存储器存储装置,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。权 利 要 求 书CN 103106148 A1/10页5区块管理方法、 存储器控制器与存储器存储装置技术领域0001 本发明涉及一种区块管理方法,尤其涉及一种管理可复写式非易失性存储器模组的实体区块的方法,以及使用此方法的存储器控制器与存储器存储装置。背景技术0002 可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小。

15、与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physical page)。其中,实体区块为数据抹除的最小单位,而实体页面则是数据写入的最小单位。0003 当使用可复写式非易失性存储器的存储装置(以下称为存储器存储装置)被制造完成而进行第一次格式化(亦称为开卡)时,存储器存储装置的存储器控制器会对可复写式非易失性存储器的所有实体区块进行磁盘扫瞄以识别出正常及损毁的实体区块。存储器控制器会将正常的实体区块优先分组至数据区与闲置区并且将剩余的实体区块分组至取代区。其中,数据区的实体区块是用以存。

16、储来自主机系统的数据,闲置区的实体区块是用以轮替数据区中的实体区块,而取代区的实体区块则是用以在存储器存储装置运作过程中取代发生损坏的实体区块。0004 一般来说,正常的实体区块亦会有不同的使用寿命,因此在使用存储器存储装置的过程中,倘若实体区块之间的使用寿命差距过大,则容易造成数据不稳定的情况。发明内容0005 有鉴于此,本发明提供一种区块管理方法、存储器控制器与存储器存储装置,能减少因可复写式非易失性存储器模组中实体区块的寿命差距过大而造成数据不稳定的现象。0006 本发明提出一种区块管理方法,用以管理可复写式非易失性存储器模组中的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区。

17、块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。0007 从另一观点来看,本发明提出一种存储器控制器,用于管理存储器存储装置中的可复写式非易失性存储器模组。此存储器控制器包括主机系统介面、存储器介面,以及存储器管理电路。主机系统介面用以耦接至主机系统。存储器介面用以耦接可复写式非易失性存储器模组,此可复写式非易失性存储器模组包括多个实体区块。存储器管理电路耦接至主机系统介面与存储器介面,存储器管理电路用以维护错误信息对应表以记录上述实体区块中至少一错误。

18、可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。说 明 书CN 103106148 A2/10页60008 从又一观点来看,本发明提出一种存储器存储装置,包括可复写式非易失性存储器模组、连接器以及存储器控制器。可复写式非易失性存储器模组包括多个实体区块。连接器用以耦接主机系统。存储器控制器耦接至可复写式非易失性存储器模组与连接器,存储器控制器用以维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的。

19、错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。0009 基于上述,本发明是依据各实体区块是否通过写入测试与抹除测试以及其错误位元数来对实体区块进行管理。进一步来说,本发明是依照实体区块的错误位元数来决定是否使用该实体区块来写入数据。据此,能让可复写式非易失性存储器模组中的实体区块使用寿命更为平均,从而增加数据稳定性。0010 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明0011 图1A是根据本发明一范例实施例显示的使用存储器存储装置的主机系统的示意图。0012 图1B是根据本发明范例实施例所显示的电脑、输入。

20、/输出装置与存储器存储装置的示意图。0013 图1C是根据本发明另一范例实施例所显示的主机系统与存储器存储装置的示意图。0014 图2是显示图1A所示的存储器存储装置的概要方块图。0015 图3是根据本发明一范例实施例显示的存储器控制器的概要方块图。0016 图4是根据本发明的一范例实施例所显示的管理实体区块的示意图。0017 图5A、5B是根据本发明的一范例实施例所显示的错误信息对应表的示意图。0018 图6是根据本发明的一范例实施例所显示的区块管理方法的流程图。0019 图7是根据本发明的另一范例实施例所显示的区块管理方法的流程图。0020 主要元件符号说明:0021 1000:主机系统0。

21、022 1100:电脑0023 1102:微处理器0024 1104:随机存取存储器0025 1106:输入/输出装置0026 1108:系统汇流排0027 1110:数据传输介面0028 1202:鼠标0029 1204:键盘0030 1206:显示器0031 1208:印表机0032 1212:移动盘说 明 书CN 103106148 A3/10页70033 1214:记忆卡0034 1216:固态硬盘0035 1310:数码相机0036 1312:SD卡0037 1314:MMC卡0038 1316:记忆棒0039 1318:CF卡0040 1320:嵌入式存储装置0041 100:存储。

22、器存储装置0042 102:连接器0043 104:存储器控制器0044 106:可复写式非易失性存储器模组0045 1041:主机系统介面0046 1043:存储器管理电路0047 1045:存储器介面0048 3002:错误检查与校正电路0049 3004:缓冲存储器0050 3006:电源管理电路0051 410(0)410(N):实体区块0052 502:数据区0053 504:闲置区0054 506:系统区0055 508:取代区0056 610(0)610(L):逻辑区块0057 700、800:错误信息对应表0058 PBA(i)、PBA(j)、PBA(k)、PBA(1)、PBA。

23、(m)、PBA(n)、PBA(a)、PBA(b)、PBA(c)、PBA(d):实体区块位址0059 800-0、800-1、800-2、800-(N-1)、800-N:分表0060 S610S640:本发明的一实施例所述的区块管理方法的各步骤0061 S710S740:本发明的另一实施例所述的区块管理方法的各步骤具体实施方式0062 一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器存储装置会与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。另外,亦有存储器存储装置是包括嵌入式存储器与可执。

24、行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。一般来说在存储器存储装置出厂时,可复写式非易失性存储器模组便包括正常的实体区块与损坏的实体区块(亦称,坏实体区块),而各正常实体区块随着其读取数据错误率的不同会有相异的使用寿命。本发明便是基于上述观点而提出的一种区块管理方说 明 书CN 103106148 A4/10页8法、存储器控制器与存储器存储装置,藉由平均实体区块的使用寿命来增加数据的正确性。0063 图1A是根据本发明一范例实施例所显示的使用存储器存储装置的主机系统的示意图。0064 主机系统1000包括电脑1100与输入/输出(Input/Output,I/O)装置1106。电。

25、脑1100包括微处理器1102、随机存取存储器(Random AccessMemory,RAM)1104、系统汇流排1108以及数据传输介面1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与印表机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。0065 在本发明范例实施例中,存储器存储装置100是通过数据传输介面1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器存储装置100,或从存储。

26、器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所示的记忆卡1214、移动盘1212、或固态硬盘(Solid State Drive,SSD)1216。0066 一般而言,主机系统1000为可存储数据的任意系统。虽然在本范例实施例中主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机1310时,存储器存储装置则为其所使用的安全数位(Secure Digital,SD)卡1312、多媒体记忆(Multimedia Card,MMC)卡1314、记。

27、忆棒(Memory Stick)1316、小型快闪(Compact Flash,CF)卡1318或嵌入式存储装置1320(如图1C所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。0067 图2是显示图1A所示的存储器存储装置100的方块图。请参照图2,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。0068 连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支援的传输介面种类为序列先进附件(Serial 。

28、Advanced Technology Attachment,SATA)介面。然而在其他范例实施例中,连接器102的传输介面种类也可以是通用序列汇流排(Universal Serial Bus,USB)介面、多媒体存储卡(Multimedia Card,MMC)介面、平行先进附件(Parallel Advanced Technology Attachment,PATA)介面、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,IEEE)1394介面、高速周边零件连接介面(PeripheralComponent Interconn。

29、ect Express,PCI Express)介面、安全数位(SecureDigital,SD)介面、记忆棒(Memory Stick,MS)介面、小型快闪(CompactFlash,CF)介面,或整合驱动电子(Integrated Drive Electronics,IDE)介面等任何适用的介面,在此并不加以限制。0069 存储器控制器104会执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本范例实施例的区块管理方法而依照错误位元数来对可复写式非易失性。

30、存储器模组106中的实体区块进行使用与否的管理。本范例实施例的区块管理方法将于后配合图示再作说明。0070 可复写式非易失性存储器模组106耦接至存储器控制器104。可复写式非易失性说 明 书CN 103106148 A5/10页9存储器模组106包括多个实体区块,且每一实体区块包括多个实体页面。举例来说,可复写式非易失性存储器模组106为多阶记忆胞(Multi Level Cell,MLC)NAND快闪存储器模组,但本发明不限于此,可复写式非易失性存储器模组106也可以是单阶记忆胞(SingleLevel Cell,SLC)NAND快闪存储器模组、其他快闪存储器模组或任何具有相同特性的存储器。

31、模组。0071 图3是根据本发明一范例实施例所显示的存储器控制器的概要方块图。请参照图3,存储器控制器104包括主机系统介面1041、存储器管理电路1043,以及存储器介面1045。0072 主机系统介面1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统介面1041是用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统介面1041而传送至存储器管理电路1043。在本范例实施例中,主机系统介面1041对应连接器102而为SATA介面,而在其他范例实施例中,主机系统介面1041也可以是USB介面、MMC介面、。

32、PATA介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面标准的介面。0073 存储器管理电路1043是用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器存储装置100运作时,上述控制指令会被执行以实现本范例实施例的区块管理方法。0074 在一范例实施例中,存储器管理电路1043的控制指令是以韧体型式来实作。例如,存储器管理电路1043具有微处理器单元(未显示)与只读存储器(未显示),且上述控制指令是被烧录在只读存储器中。当存储器存储装置100运作时,上述控制指令会由微处理器单元来执行以。

33、完成本范例实施例的区块管理方法。0075 在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程式码型式存储于可复写式非易失性存储器模组106的特定区域(例如,可复写式非易失性存储器模组106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。其中,只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的区块管。

34、理方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件型式来实作。0076 存储器介面1045耦接至存储器管理电路1043,以使存储器控制器104与可复写式非易失性存储器模组106相耦接。据此,存储器控制器104可对可复写式非易失性存储器模组106进行相关运作。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器介面1045转换为可复写式非易失性存储器模组106所能接受的格式。0077 在本发明的另一范例实施例中,存储器控制器104还包括错误检查与校正电路3002。错误检查与校正电路3002耦接至存储器管理电路1043,用以执行错误检查与校正程序以。

35、确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3002会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模组106。之后当存储器管理电路1043从可复写式非易失性存储器模组106中读取数据说 明 书CN 103106148 A6/10页10时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3002会依据此错误检查与校正码对所读取。

36、的数据执行错误检查与校正程序,以识别该笔数据是否存在错误位元。0078 在本发明的另一范例实施例中,存储器控制器104还包括缓冲存储器3004。缓冲存储器3004可以是静态随机存取存储器(Static RandomAccess Memory,SRAM)、或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等,本发明并不加以限制。缓冲存储器3004耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非易失性存储器模组106的数据。0079 在本发明又一范例实施例中,存储器控制器104还包括电源管理电路3006。电源管理电路3。

37、006耦接至存储器管理电路1043,用以控制存储器存储装置100的电源。0080 图4是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器模组的实体区块的示意图。0081 请参照图4,本范例实施例的可复写式非易失性存储器模组106包括实体区块410(0)410(N),且每一实体区块包括数个实体页面。存储器控制器104中的存储器管理电路1043会将实体区块410(0)410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器存储装置100的制造商依据所使用的可复写式非易失性存储器模组1。

38、06的容量来设定。0082 逻辑上属于数据区502与闲置区504的实体区块是用以存储来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已存储数据的实体区块,而闲置区504的实体区块是用以写入新数据的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。或者,当需要对一逻辑区块执行数据合并程序时,存储器管理电路1043会从闲置区504提取实体区块并将数据写入。

39、其中,以替换原先映射此逻辑区块的实体区块。0083 逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非易失性存储器模组106的制造商与型号、可复写式非易失性存储器模组106的实体区块数、每一实体区块的实体页面数等等。0084 逻辑上属于取代区508的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,在存储器存储装置100运作期间,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,存储器管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。也因此,在存储器存储装置100的运作过程中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替存储数据的实体区块会变动地属于数据区502或闲置区504。0085 为了让主机系统1000能对可复写式非易失性存储器模组106进行存取,存储器管理电路1043会配置数个逻辑区块610(0)610(L)以映射数据区502中的实体区块410(0)410(F-1)。其中每一逻辑区块包括多个逻辑页面,而逻辑区块610(0)610(L)说 明 书CN 103106148 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1