CN102456401A - 区块管理方法、存储器控制器与存储器储存装置 - Google Patents
区块管理方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN102456401A CN102456401A CN201010524505XA CN201010524505A CN102456401A CN 102456401 A CN102456401 A CN 102456401A CN 201010524505X A CN201010524505X A CN 201010524505XA CN 201010524505 A CN201010524505 A CN 201010524505A CN 102456401 A CN102456401 A CN 102456401A
- Authority
- CN
- China
- Prior art keywords
- physical blocks
- memory
- district
- solid element
- replacement
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种用于管理可重写非易失性存储器的实体区块的区块管理方法及使用此方法的存储器控制器与储存装置。本区块管理方法包括将此些实体区块至少分组为数据区、闲置区与取代区,并且将数据区与闲置区的实体区块分组为多个实体单元。本区块管理方法也包括,当属于数据区的实体单元的其中一个实体区块变成坏实体区块时,从取代区的实体区块中提取一个实体区块并且以所提取的实体区块来取代此坏实体区块。本区块管理方法还包括将闲置区的实体单元之中无储存有效数据的实体单元关联至取代区。基此,本方法可有效地使用实体区块,提升存取效能。
Description
技术领域
本发明涉及一种区块管理方法,特别是涉及一种用于管理可重写非易失性存储器的实体区块的区块管理方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可重写非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记型计算机。固态硬盘就是一种以快闪存储器作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
快闪存储器模块的存储器子模块具有多个实体区块(physical block),且每一实体区块具有多个实体页面(physical page),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面并需先被擦除后才能再次用于写入数据。特别是,实体区块为擦除的最小单位,并且实体页面为程序化(亦称写入)的最小单元。因此,在快闪存储器模块的管理中,实体区块会被区分为取代区、数据区与闲置区。
取代区的实体区块是用以取代损坏的实体区块。具体来说,当数据区中有实体区块损坏时,储存装置的存储器管理电路会从取代区中提取正常实体区块来取代坏实体区块。特别是,倘若取代区无正常实体区块可取代坏实体区块时,则此储存装置将被宣告无法再被用来储存数据,即进入写入保护模式。
数据区的实体区块是用以储存主机系统所储存的数据,而闲置区的实体区块是用以轮替数据区中的实体区块。因此,在闲置区中的实体区块为空或可使用的单元,即无记录数据或标记为已没用的无效数据。也就是说,数据区与闲置区的实体区块的实体页面是以轮替方式来映射逻辑区块的逻辑页面,以储存主机系统所写入的数据。例如,当主机系统欲将数据写入至储存装置的某一逻辑区块的某一逻辑页面时,储存装置的存储器管理电路会从闲置区中提取实体区块作为替换实体区块,将此数据写入至所提取的替换实体区块的实体页面中,并且记录此逻辑页面的数据被储存于此实体页面中。此外,在数据区中原先映射此逻辑页面的实体页面会被标记为无效。
特别是,倘若在闲置区中可用的实体区块的数目少于一预设阈值时,存储器管理电路会进行数据合并(Merge)程序。具体来说,在数据合并程序中,存储器管理电路会选择一个空的实体区块,将此替换实体区块中的有效数据和数据区中对应的实体区块中的有效数据复制至闲置区中空的实体区块中,由此此替换实体区块和数据区中的对应实体区块就可被擦除并关联至闲置区。然而,存储器管理电路执行数据合并程序会延长执行写入指令的时间。因此,如何有效地管理实体区块,以提升储存装置的存取效能,是此领域技术人员所致力的目标。
发明内容
本发明提供一种区块管理方法,其能够有效管理可重写非易失性存储器模块的实体区块,以提升存取效能。
本发明提供一种存储器控制器,其能够有效管理可重写非易失性存储器模块的实体区块,以提升存取效能。
本发明提供一种存储器储存装置,其具有较高的存取效能。
本发明范例实施例提出一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块。本区块管理方法包括将此些实体区块至少分组为数据区、闲置区与取代区。本区块管理方法也包括,当属于数据区的实体区块的其中一个实体区块变成坏实体区块时,从取代区的实体区块中提取一实体区块并且以所提取的实体区块来取代此坏实体区块。本区块管理方法还包括将闲置区的实体区块之中无储存有效数据的实体区块关联至取代区。
本发明范例实施例提出一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,其中此些实体区块分别地属于第一存储器子模块与第二存储器子模块。本区块管理方法包括将此些实体区块至少分组为数据区、闲置区与取代区,并且将数据区与闲置区的实体区块分组为多个实体单元,其中每一实体单元包括第一存储器子模块的其中一个实体区块与第二存储器子模块的其中一个实体区块。本区块管理方法也包括,当在数据区中属于第一存储器子模块的其中一个实体区块变成一坏实体区块时,从取代区中属于第一存储器子模块的实体区块之中提取一实体区块并且以所提取的实体区块来取代此坏实体区块。本区块管理方法还包括判断取代区中属于第一存储器子模块的实体区块的数目是否小于取代区块准备数,以及当取代区中属于第一存储器子模块的实体区块的数目小于取代区块准备数时,执行取代实体单元归还程序。在此,取代实体单元归还程序包括将闲置区的实体单元之中无储存有效数据的实体单元关联至取代区。
本发明范例实施例提出一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,其中此些实体区块分别地属于第一存储器子模块与第二存储器子模块。本区块管理方法包括将此些实体区块至少分组为数据区、闲置区与取代区,并且将属于数据区与闲置区的实体区块分组为多个实体单元,其中每一实体单元包括第一存储器子模块的其中一个实体区块与第二存储器子模块的其中一个实体区块。本区块管理方法也包括,当属于数据区的实体单元的其中一个实体区块变成一坏实体区块并且此坏实体区块属于第一存储器子模块时,判断在取代区中属于第一存储器子模块的实体区块之中是否存有一可用实体区块,以及当在取代区中属于第一存储器子模块的实体区块之中存有可用实体区块时,以此可用实体区块取代此坏实体区块。本区块管理方法还包括,当在取代区中属于第一存储器子模块的实体区块之中无存有可用实体区块时,将闲置区的实体单元之中无储存有效数据的多个实体单元中的其中一个实体单元关联至取代区并且以此实体单元中属于第一存储器子模块的实体区块来取代此坏实体区块。
本发明范例实施例提出一种存储器控制器,用于管理可重写非易失性存储器模块,其中此可重写非易失性存储器模块具有多个实体区块。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,并且存储器接口用以电性连接至可重写非易失性存储器模块。存储器管理电路电性连接至此主机接口与此存储器接口,并且用以执行上述区块管理方法。
本发明范例实施例提出一种存储器储存装置,其包括连接器、可重写非易失性存储器模块与存储器控制器。可重写非易失性存储器模块具有多个实体区块。存储器控制器电性连接至此可重写非易失性存储器模块与此连接器,并且用以执行上述区块管理方法。
本发明范例实施例提出一种区块管理方法,用于管理可重写非易失性存储器的多个实体区块。本区块管理方法包括将此些实体区块至少分组为数据区、闲置区与取代区,其中,数据区的实体区块是用以储存来自于主机系统的数据,闲置区的实体区块是用以替换数据区的实体区块,取代区中的实体区块是用以取代损坏的实体区块。本区块管理方法也包括监测取代区的实体区块数;及当取代区的实体区块数小于取代区块准备数时,将数据区或闲置区中的至少一实体区块关联至取代区,藉此,取代区所对应的实体区块是可变动的。
基于上述,本发明范例实施例的区块管理方法及使用此方法的存储器控制器与存储器储存装置能够有效地使用实体区块,由此提升存取效能。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
附图说明
图1A是根据本发明第一范例实施例绘示主机系统与存储器储存装置。
图1B是根据本发明范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据本发明第一范例实施例所绘示的存储器控制器的概要方块图。
图4是根据本发明第一范例实施例所绘示的可重写非易失性存储器模块的概要方块图。
图5是根据本发明第一范例实施例所绘示的管理实体区块的示意图。
图6A~6B是根据本发明第一范例实施例所绘示的在存储器储存装置初始化程序中配置实体区块的范例。
图7A是根据本发明第一范例实施例所绘示的处理坏实体区块的范例。
图7B是根据本发明第一范例实施例所绘示的处理坏实体区块的另一范例。
图8A、图8B及图8C是根据本发明第一范例实施例所绘示的区块管理方法的流程图。
图9是根据本发明第二范例实施例所绘示的在存储器储存装置初始化程序中配置实体区块的范例。
图10A是根据本发明第二范例实施例所绘示的处理坏实体区块的范例。
图10B是根据本发明第一范例实施例所绘示的处理坏实体区块的另一范例。
图11A与图11b是根据本发明第二范例实施例所绘示的区块管理方法的流程图。
附图符号说明
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:可重写非易失性存储器模块
202:存储器管理电路
204:主机接口
206:存储器接口
252:缓冲存储器
254:电源管理电路
256:错误检查与校正电路
410:第一存储器子模块
420:第二存储器子模块
410a:数据总线
420a:数据总线
410(0)~410(N)、420(0)~420(N):实体区块
502:系统区
504:数据区
506:闲置区
508:取代区
410b:指标
420b:指标
610(D)~610(R-1):实体单元
710(0)~710(H):逻辑单元
S801、S803、S805、S807、S809、S811、S813、S815:区块管理方法的步骤
610(R)~610(R+2):实体单元
S1101、S1103、S1105、S1107、S1109、S1111、S1113:区块管理方法的步骤
具体实施方式
在本发明的区块管理方法中,取代区中至少部分的可用实体区块会被关联至闲置区来使用。此外,当属于数据区的实体区块的其中之一变成坏实体区块时,取代区中的一个实体区块会被提取以取代坏实体区块,并且闲置区中无储存有效数据的一个实体区块会被关联回取代区。基此,本发明的区块管理方法可有效地使用实体区块。以下将以数个范例实施来详细地描述本发明。
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据本发明第一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid State Drive,SSD)1216等的可重写非易失性存储器储存装置。
一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可重写非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可重写非易失性存储器模块106。
在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponent Interconnect Express,PCI Express)标准、通用序列总线(UniversalSerial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可重写非易失性存储器模块106中进行数据的写入、读取与擦除等运作。在本范例实施例中,存储器控制器104用以根据本发明范例实施例的区块管理方法来管理可重写非易失性存储器模块106。根据本发明范例实施例的区块管理方法将于以下结合附图详细说明。
可重写非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。在本范例实施例中,可重写非易失性存储器模块106为多层存储单元(Multi Level Cell,MLC)NAND快闪存储器模块。然而,本发明不限于此,可重写非易失性存储器模块106亦可是单层存储单元(Single Level Cell,SLC)NAND快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
图3是根据本发明第一范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以根据本范例实施例的区块管理方法来管理可重写非易失性存储器模块106。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以完成根据本发明范例实施例的区块管理方法。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可重写非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可重写非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以执行本发明范例实施例的区块管理方法。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可重写非易失性存储器模块106。也就是说,欲写入至可重写非易失性存储器模块106的数据会经由存储器接口206转换为可重写非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可重写非易失性存储器模块106的数据。
在本发明一范例实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
在本发明一范例实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorChecking and Correcting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写非易失性存储器模块106中。之后,当存储器管理电路202从可重写非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4是根据本发明第一范例实施例所绘示的可重写非易失性存储器模块的概要方块图。
请参照图4,可重写非易失性存储器模块106包括第一存储器子模块410与第二存储器子模块420。例如,第一存储器子模块410与第二存储器子模块420分别地为存储器芯片(die)。第一存储器子模块410具有实体区块410(0)~410(N)并且第二存储器子模块420具有实体区块420(0)~420(N)。例如,第一存储器子模块410与第二存储器子模块420是分别地通过独立的数据总线410a与数据总线420a电性连接至存储器控制器104。然而,必须了解的是,在本发明另一范例实施例中,第一存储器子模块410与第二存储器子模块420亦可仅通过1个数据总线与存储器控制器104电性连接。第一存储器子模块410与第二存储器子模块420的每一实体区块分别具有复数个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地擦除。例如,每一实体区块是由128个实体页面所组成。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。
更详细来说,实体区块为擦除的最小单位。亦即,每一实体区块含有最小数目的一并被擦除的存储单元。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是扇区(Sector)或其他大小。每一实体页面通常包括数据位区D与冗余位区R。数据位区D用以储存使用者的数据,而冗余位区R用以储存系统的数据(例如,错误检查与校正码)。
值得一提的是,虽然本发明范例实施例是以包括2个存储器子模块的可重写非易失性存储器模块106为例来描述,但本发明不限于此。
图5是根据本发明第一范例实施例所绘示的管理实体区块的示意图。
请参照图5,存储器控制器104的存储器管理电路202会将实体区块410(0)~410-(N)与实体区块420(0)~420(N)逻辑地分组为系统区502、数据区504、闲置区506与取代区508。
逻辑上属于系统区502的实体区块是用以记录系统数据。例如,系统数据包括关于可重写非易失性存储器模块的制造商与型号、可重写非易失性存储器模块的实体区块数、每一实体区块的实体页面数等。
逻辑上属于数据区504与闲置区506的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区504的实体区块是被视为已储存数据的实体区块,而闲置区506的实体区块是用以替换数据区504的实体区块。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区506中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区504的实体区块。
逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区504的实体区块损坏时,存储器管理电路202会从取代区508中提取正常的实体单元来更换损坏的实体区块。必须了解的,在本范例实施例中,存储器管理电路202是以取代区508中属于第一存储器子模块410的正常实体区块来取代第一存储器子模块410中的坏实体区块,并且以取代区508中属于第二存储器子模块420的正常实体区块来取代第二存储器子模块420中的坏实体区块,由此使得存储器管理电路202在执行写入指令时仍同时利用数据总线410a与数据总线420a来以平行方式写入数据。
图6A~6B是根据本发明第一范例实施例所绘示的在存储器储存装置初始化程序中配置实体区块的范例。
请参照图6A,在存储器储存装置100被制造完成并初始化地启动时,存储器管理电路202会根据存储器储存装置100所设计的容量初始地配置数个实体区块(例如,实体区块410(D)~410(F-1)与实体区块420(D)~420(F-1))至数据区504,既使此些实体区块并未实际储存数据。
特别是,存储器管理电路202会将属于数据区504的实体区块分组为多个实体单元,并且以实体单元为单位来管理实体区块。例如,实体区块410(D)~410(F-1)与实体区块420(D)~420(F-1)会被分组为实体单元610(D)~610(F-1)。在本范例实施例中,每一实体单元是由分别属于不同的存储器子模块的2个实体区块所组成。然而,必须了解的是,本发明不限于此。在另一范例实施例中,每一实体单元可由同一存储器子模块或不同存储器子模块中的至少一个实体区块所组成。
此外,存储器管理电路202会配置逻辑单元710(0)~710(H)以映射数据区504的实体单元。在此,存储器管理电路202会维护逻辑单元-实体单元映射表(logical unit-physical unit mapping table)逻辑单元710(0)~710(H)与数据区504的实体单元的映射关系。具体来说,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路202会将主机系统1000所存取的逻辑存取地址转换为对应的逻辑单元的逻辑页面,并且通过逻辑单元-实体单元映射表于实体单元的实体页面中存取数据。
此外,在初始化过程中,存储器管理电路202会确认配置给数据区504的实体区块是否存有损坏的实体区块(即,坏实体区块),并且当存有坏实体区块时,存储器管理电路202会以取代区508中的实体区块来取代坏实体区块。例如,存储器管理电路202会在取代区508中属于各存储器子模块的正常实体区块中注记下一个可使用的实体区块,以利于取代坏实体区块。例如,存储器管理电路202会初始地以指标410b与指标420b来标记实体区块410(N)与实体区块420(N))。
如图6B所示,假设在初始化的过程中,存储器管理电路202发现在第一存储器子模块410中存有1个坏实体区块(即,实体区块410(D+100))时,存储器管理电路202会以实体区块410(N)取代实体区块410(D+100),并且将指标410b重新指向实体区块410(N-1)。此外,假设在初始过程中,存储器管理电路202发现在第二存储器子模块420中存有2个坏实体区块(即,实体区块420(D+1)与实体区块420(D+2))时,存储器管理电路202会以实体区块420(N)取代实体区块420(D+1),以实体区块420(N-1)取代实体区块420(D+2),并且将指标420b重新指向实体区块420(R+2),其中在本范例实施例中假设N等于R+4。
在完成初始化过程的坏实体区块取代程序之后,存储器管理电路202会为每一存储器子模块至少保留数个实体区块于取代区508中,其中所保留的实体区块的数目必须大于或等于一取代区块准备数。具体来说,由于实体区块的擦除次数是有限的(例如,10000次),因此在存储器储存装置100运作期间,实体区块可能会在经过多次擦除后而损毁。然而,倘若取代区508中无可用于取代坏实体区块的正常实体区块时,将导致存储器储存装置100无法于即时回应主机系统1000的指令而造成逾时。基此,存储器管理电路202会准备适当数量的正常实体区块于取代区508中。
在本范例实施例中,此取代区块准备数是被设定为3。然而,必须了解的是,本发明不限于此。值得一提的是,由于在本范例实施例中,存储器管理电路202是以由分别属于不同存储器子模块的2个实体区块所组成的实体单元为单位来管理,因此,取代区508中每一存储器子模块的实体区块的数目可能会不同。例如,在第一存储器子模块410中实体区块410(R)~410(R+2)与实体区块410(N-1)会被配置于取代区508中并且在第二存储器子模块420中实体区块420(R)~420(R+2)会被配置于取代区508中。
然后,存储器管理电路202会将其他剩余的实体区块配置给闲置区506,并且将闲置区506中的实体区块分组为实体单元(例如,实体单元610(F)~610(R-1))来进行管理。类似于数据区504,闲置区506中每一实体单元亦是由分别属于各存储器子模块的一个实体区块所组成。
经过上述初始化程序之后,存储器储存装置100就可接收主机系统1000的写入指令来写入数据。
例如,在本发明一范例实施例中,存储器管理电路202会从闲置区506中提取实体单元来写入主机系统1000欲储存的数据。例如,当主机系统1000欲写入数据至对应逻辑单元710(0)的逻辑存取地址并且逻辑单元710(0)目前是映射实体单元610(0)时,存储器管理电路202会从闲置区506中提取实体单元610(F)作为替换实体单元(亦称子实体单元)并且将欲写入的数据写入至实体单元610(F)中。特别是,存储器管理电路202会记录映射逻辑单元710(0)的实体单元610(0)中哪些实体页面中的数据已被更新(即,此些实体页面的数据已变为无效数据),并且记录在实体单元610(F)中此些实体页面中所储存的数据是属于哪些逻辑单元。基此,当主机系统1000下达读取指令时,存储器管理电路202可根据逻辑单元-实体单元映射表与所记录的信息于对应的实体区块的实体页面中读取数据。此外,当实体单元610(0)中的所有数据都变为无效数据时,存储器管理电路202可从闲置区506中提取的一个空的实体单元(例如,实体单元610(F+1)),执行数据合并程序以将属于逻辑单元710(0)的有效数据依序地复制至实体单元610(F+1)中,并且在逻辑单元-实体单元映射表中将逻辑单元710(0)重新映射至实体单元610(F+1)。也就是说,实体单元610(F+1)会被关联至数据区504,并且实体单元610(0)会被关联至闲置区506。基此,在本范例实施例中,在存储器储存装置100运作期间,实体单元会以轮替的方式来储存主机系统1000所写入的数据,并且实体区块的分组关系会动态地变动。
如上所述,实体区块可能会在经过多次擦除后变为坏实体区块。基此,在本范例实施例中,在存储器储存装置100运作过程中发现坏实体区块时,存储器管理电路202会执行上述坏实体区块取代程序,并且根据取代区508中可用实体区块的数目来进行调整闲置区506与取代区508的配置。
图7A是根据本发明第一范例实施例所绘示的处理坏实体区块的范例。
请参照图7A,倘若在图6B所示的状态下第一存储器子模块410的实体区块410(D+150)变为坏实体区块时,存储器管理电路202会根据指标410b以实体区块410(N-1)来取代实体区块410(D+150),并且将指标410b指向实体区块410(R+2)。特别是,由于取代区508中属于第一存储器子模块410的可用实体区块的数目仍大于或等于上述取代区块准备数(例如,如上所述在本范例实施例中,此取代区块准备数被设定为3),因此存储器管理电路202将不会调整闲置区506与取代区508的配置。
图7B是根据本发明第一范例实施例所绘示的处理坏实体区块的另一范例。
请参照图7B,倘若在图6B所示的状态下第二存储器子模块420的实体区块420(D+150)变为坏实体区块时,存储器管理电路202会根据指标420b以实体区块420(R+2)来取代实体区块420(D+150),并且将指标420b指向实体区块420(R+1)。特别是,由于取代区508中属于第二存储器子模块420的可用实体区块的数目小于上述取代区块准备数,存储器管理电路202将执行取代实体单元归还程序。
在取代实体单元归还程序中,存储器管理电路202会将闲置区506中无储存有效数据的任一实体单元关联至取代区508。例如,如图7B所示,倘若实体单元610(R-1)未储存任何有效数据时,存储器管理电路202会将实体单元610(R-1)的实体区块410(R-1)与实体区块420(R-1)关联至取代区508。由此,第二存储器子模块420的可用实体区块的数目仍会维持3,并且闲置区506中的可用实体单元数目会减少1个。
值得一提的是,在执行来自于主机系统1000的写入指令时,只要闲置区506仍有可用的实体单元,存储器管理电路202会持续从闲置区506中提取实体区块作为替换实体区块来写入数据,以避免执行数据合并程序,而提升存储器储存装置100的效能,换句话说,取代区508可由闲置区506中提取实体区块的原故,而使其所对应的实体区块或实体区块地址并非固定的,而是可变动的。因此,当数据区504中的其中一个实体区块变为坏实体区块而需要执行上述取代实体单元归还程序时,闲置区506中的所有实体单元可能都已被提取作为替换实体区块,而无空的实体单元。基此,存储器管理电路202会藉由执行一个或多个写入指令来执行数据合并程序,由此将数据区504中无储存有效数据的实体单元进行擦除运作并且将所擦除的实体单元关联至闲置区506,以使得闲置区506存有无储存有效数据的实体单元。
例如,倘若在图7B所示范例中,当发现坏实体区块时,实体单元610(F)~610(R-1)皆存有有效数据时,存储器管理电路202会暂时不调整闲置区506的实体单元。并且,在执行后续的写入指令时,存储器管理单元202会逐步地整理有效数据,以释放出实体单元。例如,一旦储存于某一个实体单元(例如,实体单元610(R-1))中的数据皆为无效数据时,存储器管理电路202就会将其关联至闲置区506,并且执行取代实体单元归还程序。基此,上述取代区块准备数会设定为3,就是要预防在未完成取代实体单元归回程序的前,取代区508中无可用实体区块可取代坏实体区块。
在本发明另一范例实施例中,存储器管理电路202会维护取代实体区块队列表,以记录属于取代区508的实体区块。特别是,存储器管理电路202会根据取代实体区块队列表的信息来将指标410b与指标420b指向下一个正常的实体区块。
图8A与图8B是根据本发明第一范例实施例所绘示的区块管理方法的流程图,其中图8A是绘示存储器储存装置初始化时的管理步骤,而图8B是绘示存储器储存装置100运作期间发现坏实体区块的管理步骤。
请参照图8A,在步骤S801中,存储器管理电路202会将实体区块至少分组为数据区504、闲置区506与取代区508。数据区504、闲置区506与取代区508的配置方式已描述如上,在此不重复描述。
在步骤S803中,存储器管理电路202会将数据区504与闲置区506的实体区块分组为多个实体单元。并且,在步骤S805,存储器管理电路202会配置对应逻辑存取地址的逻辑单元以映射数据区504的实体单元。将实体区块分组为实体单元以映射逻辑单元的方法已描述如上,在此不重复描述。
在完成图8A的初始化后,在存储器储存装置100运作期间,存储器管理电路202会持续地监控所有实体区块,并且当发现坏实体区块时,存储器管理电路202会执行图8B的步骤。
请参照图8B,在步骤S807中,存储器管理电路202会以取代区508中对应的可用实体区块来取代坏实体区块。具体来说,在本范例实施例中,存储器管理电路202会根据坏实体区块所属的存储器子模块以及对应的指标来从取代区508中提取可用的实体区块以取代坏实体区块。
在步骤S809中,存储器管理电路202会判断在取代区508中此坏实体区块所属的存储器子模块的实体区块的数目是否小于上述取代区块准备数。
当在取代区508中坏实体区块所属的存储器子模块的实体区块的数目不小于上述取代区块准备数时,则图8B的流程会被结束。
当在取代区508中此坏实体区块所属的存储器子模块的实体区块的数目小于上述取代区块准备数时,在步骤S811中存储器管理电路202会执行上述取代实体单元归还程序。
图8C是根据本发明第一范例实施例所绘示的取代实体单元归还程序的流程图。
请参照图8C,在步骤S813中存储器管理电路202会判断闲置区506是否存有可用的实体单元(即,空的实体单元)。倘若闲置区506存有空的实体单元存有可用的实体单元时,则在步骤S815中,存储器管理电路202会将其中一个可用的实体单元关联至取代区508。倘若闲置区506无存有空的实体单元存有可用的实体单元时,步骤S813会持续的被执行。具体来说,存储器管理电路202会在每次执行写入指令后确认闲置区506是否存有可用的实体单元,直到将实体单元归还至取代区508为止。
[第二范例实施例]
本发明第二范例实施例的存储器储存装置与主机系统本质上是相同于第一范例实施例的存储器储存装置与主机系统,其中差异在于第二范例实施例的存储器控制器使用不同的区块管理方法来配置闲置区与取代区。以下将使用图1A、图2与图3的装置结构来描述第二范例实施例与第一范例实施例的差异部分。
在本范例实施例中,在完成初始化过程的坏实体区块取代程序之后,存储器管理电路202会将取代区508中能够建构成实体单元的实体区块都配置到闲置区506中,以作为写入数据之用。
图9是根据本发明第二范例实施例所绘示的在存储器储存装置初始化程序中配置实体区块的范例。
请参照图9,配置数据区504的实体单元以映射逻辑单元的方法是相同于第一范例实施例,在此不重复描述。
假设在初始化的过程中,存储器管理电路202发现在第一存储器子模块410中存有1个坏实体区块(即,实体区块410(D+100))时,存储器管理电路202会以实体区块410(N)取代实体区块410(D+100)。此外,假设在初始化的过程中,存储器管理电路202发现在第二存储器子模块420中存有2个坏实体区块(即,实体区块420(D+1)与实体区块420(D+2))时,存储器管理电路202会以实体区块420(N)取代实体区块420(D+1),并且以实体区块420(N-1)取代实体区块420(D+2)。然后,存储器管理电路202会将取代区508中能够组成实体单元的实体区块配置至闲置区506,并且将闲置区506中的实体区块分组为实体单元来进行管理。具体来说,如上述所述,在本范例实施例中,每一实体单元是由各存储器子模块的一个实体区块所组成。因此,在此范例中,存储器管理电路202会将取代区508中的实体区块410(R)~410(R+2)与实体区块420(R)~420(R+2)配置至闲置区506。并且,实体区块410(F)~410(R+2)与实体区块420(F)~420(R+2)会被分组为实体单元610(F)~610(R+2)来管理。
此外,例如,存储器管理电路202会维护取代实体区块队列表来记录取代区508中可用于取代坏实体区块的可用实体区块(例如,如图9所示的实体区块410(N-1))。
图10A是根据本发明第二范例实施例所绘示的处理坏实体区块的范例。
请参照图10A,倘若在图9所示的状态下第一存储器子模块410的实体区块410(D+150)变成坏实体区块时,存储器管理电路202会根据取代实体区块队列表,以属于第一存储器子模块410的实体区块410(N-1)来取代实体区块410(D+150)。
图10B是根据本发明第一范例实施例所绘示的处理坏实体区块的另一范例。
请参照图10B,倘若在图9所示的状态下第二存储器子模块420的实体区块420(D+150)变为坏实体区块时,存储器管理电路202会根据取代实体区块队列表识别出取代区508中无属于第二存储器子模块的可用的实体区块并且因此执行取代实体单元归还程序。
在取代实体单元关还程序中,存储器管理电路202会将闲置区506中无储存有效数据的任一实体单元关联至取代区508。例如,如图10B所示,倘若实体单元610(R+2)未储存任何有效数据时,存储器管理电路202会将实体单元610(R+2)的实体区块410(R+2)与实体区块420(R+2)关联至取代区508。由此,存储器管理电路202会以实体区块420(R+2)来取代损坏的实体区块420(D+150),并且将实体区块410(R+1)记录在取代实体区块队列表中。
特别是,倘若闲置区506的实体单元皆存有有效数据并且发现坏实体区块时,存储器管理电路202将无法立即地从闲置区506中取得一个实体单元,以归还至取代区508。因此,在本范例实施例中,在存储器储存装置100运作期间,存储器管理电路202会监控在闲置区506中无储存有效数据的实体单元的数目是否小于取代区块准备数,并且当在闲置区506中无储存有效数据的实体单元的数目小于取代区块准备数时,存储器管理电路202会执行数据合并程序,以将数据区504中无储存有效数据的实体单元进行擦除运作并且将所擦除的实体单元关联至闲置区506。
也就是说,在本范例实施例中,在执行来自于主机系统1000的写入指令时,只要闲置区506的可用实体单元的数目未小于取代区准备数时,存储器管理电路202会持续从闲置区506中提取实体区块作为替换实体区块来写入数据,以避免执行数据合并程序,而提升存储器储存装置100的存取效能。
图11A与图11B是根据本发明第二范例实施例所绘示的区块管理方法的流程图,其中图11A是绘示存储器储存装置初始化时的管理步骤,而图11B是绘示存储器储存装置100运作期间发生坏实体区块的管理步骤。
请参照图11A,在步骤S1101中,存储器管理电路202会将实体区块至少分组为数据区504、闲置区506与取代区508。数据区504、闲置区506与取代区508的配置方式已描述如上(如图9所示),在此不重复描述。
在步骤S1103中,存储器管理电路202会将数据区504与闲置区506的实体区块分组为多个实体单元。并且,在步骤S1105,存储器管理电路202会配置对应逻辑存取地址的逻辑单元以映射数据区504的实体单元。将实体区块分组为实体单元以映射逻辑单元的方法已描述如上(如图9所示),在此不重复描述。
在完成图11A的初始化后,在存储器储存装置100运作期间,存储器管理电路202会持续地监控所有实体区块,并且当发现坏实体区块时,存储器管理电路202会执行图11B的步骤。
请参照图11B,在步骤S1107中,存储器管理电路202会判断在取代区508中是否有对应的可用实体区块。具体来说,如上所述,存储器管理电路202会根据坏实体区块所属的存储器子模块与取代实体区块队列表来判断是否有可用于取代坏实体区块的实体区块。
倘若在取代区508中有可用实体区块时,在步骤S1109中存储器管理电路202会以此可用实体区块来取代坏实体区块。
倘若在取代区508中无可用实体区块时,在步骤S1111中存储器管理电路202会执行上述取代实体单元归还程序,并且以所归还的实体单元中的实体区块来取代坏实体区块。
之后,在步骤S1113中,存储器管理电路202会更新取代实体区块队列表。
综上所述,本发明范例实施例的区块管理方法能够有效地使用存储器储存装置内的实体区块。特别是,根据本范例实施例的区块管理方法,能够在相同的可重写非易失性存储器模块下增加闲置区中可用实体区块的数目,由此在执行写入指令时能够使用更多的实体区块作为替换实体区块,以减少数据合并的次数并提升存取效能。此外,当发生坏实体区块时,根据本范例实施例的区块管理方法能够适时的提供可用实体区块以取代坏实体区块。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
Claims (19)
1.一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,该区块管理方法包括:
将该实体区块至少分组为一数据区、一闲置区与一取代区;
当属于该数据区的该实体单元的该实体区块的其中之一变成一坏实体区块时,从该取代区的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块;以及
将该闲置区的该实体区块之中无储存有效数据的一实体区块关联至该取代区。
2.一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块,该区块管理方法包括:
将该实体区块至少分组为一数据区、一闲置区与一取代区;
将该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一;
当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,从该取代区中属于该第一存储器子模块的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块;
判断该取代区中属于该第一存储器子模块的该实体区块的数目是否小于一取代区块准备数;以及
当判断该取代区中属于该第一存储器子模块的该实体区块的数目小于该取代区块准备数时,执行一取代实体单元归还程序,
其中该取代实体单元归还程序包括:
将该闲置区的该实体单元之中无储存有效数据的一实体单元关联至该取代区。
3.如权利要求2所述的区块管理方法,还包括维护一取代实体区块队列表,以记录属于该取代区的该实体区块。
4.如权利要求2所述的区块管理方法,其中该取代实体单元归还程序还包括:
藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一,其中储存于所擦除的实体单元中的数据皆为无效数据;以及
将所擦除的实体单元关联至该闲置区。
5.一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块,该区块管理方法包括:
将该实体区块至少分组为一数据区、一闲置区与一取代区;
将属于该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一;
当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,判断在该取代区中属于该第一存储器子模块的该实体区块之中是否存有一可用实体区块;
当在该取代区中属于该第一存储器子模块的该实体区块之中存有该可用实体区块时,以该可用实体区块取代该坏实体区块;以及
当在该取代区中属于该第一存储器子模块的该实体区块之中无存有该可用实体区块时,将该闲置区的该实体单元之中无储存有效数据的多个实体单元中的其中一个实体单元关联至该取代区并且以该其中一个实体单元中属于该第一存储器子模块的实体区块来取代该坏实体区块。
6.如权利要求5所述的区块管理方法,还包括:
判断该闲置区中无储存有效数据的该实体单元的数目是否小于一取代区块准备数;以及
当该闲置区中无储存有效数据的该实体单元的数目小于该取代区块准备数时,藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一,且将所擦除的实体单元关联至该闲置区,
其中储存于所擦除的实体单元中的数据皆为无效数据。
7.一种存储器控制器,用于管理一可重写非易失性存储器模块,其中该可重写非易失性存储器模块具有多个实体区块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可重写非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将该数据区与该闲置区的该实体区块分组为多个实体单元,
其中当属于该数据区的该实体单元的该实体区块的其中之一变成一坏实体区块时,该存储器管理电路还用以从该取代区的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块,
其中该存储器管理电路还用以将该闲置区的该实体单元之中无储存有效数据的一实体单元关联至该取代区。
8.一种存储器控制器,用于管理一可重写非易失性存储器模块,其中该可重写非易失性存储器模块具有多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可重写非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一,
其中当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,该存储器管理电路还用以从该取代区中属于该第一存储器子模块的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块,
其中该存储器管理电路还用以判断该取代区中属于该第一存储器子模块的该实体区块的数目是否小于一取代区块准备数,
其中当判断该取代区中属于该第一存储器子模块的该实体区块的数目小于该取代区块准备数时,该存储器管理电路还用以将该闲置区的该实体单元之中无储存有效数据的一实体单元关联至该取代区。
9.如权利要求8所述的存储器控制器,其中该存储器管理电路还用以维护一取代实体区块队列表,以记录属于该取代区的该实体区块。
10.如权利要求8所述的存储器控制器,其中该存储器管理电路还用以藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一,并且将所擦除的实体单元关联至该闲置区,其中储存于所擦除的实体单元中的数据皆为无效数据。
11.一种存储器控制器,用于管理一可重写非易失性存储器模块,其中该可重写非易失性存储器模块具有多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可重写非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将属于该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一,
其中当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,该存储器管理电路还用以判断在该取代区中属于该第一存储器子模块的该实体区块之中是否存有一可用实体区块,
其中当在该取代区中属于该第一存储器子模块的该实体区块之中存有该可用实体区块时,该存储器管理电路还用以以该可用实体区块来取代该坏实体区块,
其中当在该取代区中属于该第一存储器子模块的该实体区块之中无存有该可用实体区块时,该存储器管理电路还用以将该闲置区的该实体单元之中无储存有效数据的多个实体单元中的其中一个实体单元关联至该取代区并且以该其中一个实体单元中属于该第一存储器子模块的实体区块来取代该坏实体区块。
12.如权利要求11所述的存储器控制器,其中该存储器管理电路还用以判断该闲置区中无储存有效数据的该实体单元的数目是否小于一取代区块准备数,
其中当该闲置区中无储存有效数据的该实体单元的数目小于该取代区块准备数时,该存储器管理电路还用以藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一并且将所擦除的实体单元关联至该闲置区,
其中储存于所擦除的实体单元中的数据皆为无效数据。
13.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写非易失性存储器模块,具有多个实体区块;以及
一存储器控制器,电性连接至该连接器与该可重写非易失性存储器模块,
其中该存储器控制器用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将属于该数据区与该闲置区的该实体区块分组为多个实体单元,
其中当属于该数据区的该实体单元的该实体区块的其中之一变成一坏实体区块时,该存储器控制器还用以从该取代区的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块,
其中该存储器控制器还用以将该闲置区的该实体单元之中无储存有效数据的一实体单元关联至该取代区。
14.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写非易失性存储器模块,具有多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块;以及
一存储器控制器,电性连接至该连接器与该可重写非易失性存储器模块,
其中该存储器控制器用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将属于该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一,
其中当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,该存储器控制器还用以从该取代区中属于该第一存储器子模块的该实体区块中提取一实体区块并且以所提取的实体区块来取代该坏实体区块,
其中该存储器控制器还用以判断该取代区中属于该第一存储器子模块的该实体区块的数目是否小于一取代区块准备数,
其中当判断该取代区中属于该第一存储器子模块的该实体区块的数目小于该取代区块准备数时,该存储器控制器还用以从该取代区中属于该第一存储器子模块的该实体区块中提取一实体区块,以所提取的实体区块来取代该坏实体区块,并且将该闲置区的该实体单元之中无储存有效数据的一实体单元关联至该取代区。
15.如权利要求14所述的存储器储存装置,其中该存储器控制器还用以维护一取代实体区块队列表,以记录属于该取代区的该实体区块。
16.如权利要求14所述的存储器储存装置,其中该存储器控制器还用以藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一,并且将所擦除的实体单元关联至该闲置区,其中储存于所擦除的实体单元中的数据皆为无效数据。
17.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写非易失性存储器模块,具有多个实体区块,其中该实体区块分别地属于一第一存储器子模块与一第二存储器子模块;以及
一存储器控制器,电性连接至该连接器与该可重写非易失性存储器模块,
其中该存储器控制器用以将该实体区块至少分组为一数据区、一闲置区与一取代区并且将属于该数据区与该闲置区的该实体区块分组为多个实体单元,其中每一该实体单元包括该第一存储器子模块的该实体区块的其中之一与该第二存储器子模块的该实体区块的其中之一,
其中当在该数据区中属于该第一存储器子模块的该实体区块的其中一个实体区块变成一坏实体区块时,该存储器控制器还用以判断在该取代区中属于该第一存储器子模块的该实体区块之中是否存有一可用实体区块,
其中当在该取代区中属于该第一存储器子模块的该实体区块之中存有该可用实体区块时,该存储器控制器还用以以该可用实体区块来取代该坏实体区块,
其中当在该取代区中属于该第一存储器子模块的该实体区块之中无存有该可用实体区块时,该存储器控制器还用以将该闲置区的该实体单元之中无储存有效数据的多个实体单元中的其中一个实体单元关联至该取代区并且以该其中一个实体单元中属于该第一存储器子模块的实体区块来取代该坏实体区块。
18.如权利要求17所述的存储器储存装置,其中该存储器控制器还用以判断该闲置区中无储存有效数据的该实体单元的数目是否小于一取代区块准备数,
其中当该闲置区中无储存有效数据的该实体单元的数目小于该取代区块准备数时,该存储器控制器还用以藉由执行至少一个写入指令来擦除该数据区的该实体单元的其中之一并且将所擦除的实体单元关联至该闲置区,
其中储存于所擦除的实体单元中的数据皆为无效数据。
19.一种区块管理方法,用于管理一可重写非易失性存储器的多个实体区块,该区块管理方法包括:
将该实体区块至少分组为一数据区、一闲置区与一取代区,其中,该数据区的实体区块是用以储存来自于该主机系统的数据,该闲置区的实体区块是用以替换该数据区的实体区块,该取代区中的实体区块是用以取代损坏的实体区块;
监测该取代区的实体区块数;及
当该取代区的实体区块数小于一取代区块准备数时,将该数据区或该闲置区中的至少一实体区块关联至该取代区,藉此,该取代区所对应的实体区块是可变动的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010524505.XA CN102456401B (zh) | 2010-10-26 | 2010-10-26 | 区块管理方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010524505.XA CN102456401B (zh) | 2010-10-26 | 2010-10-26 | 区块管理方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102456401A true CN102456401A (zh) | 2012-05-16 |
CN102456401B CN102456401B (zh) | 2015-04-22 |
Family
ID=46039494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010524505.XA Active CN102456401B (zh) | 2010-10-26 | 2010-10-26 | 区块管理方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102456401B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732153A (zh) * | 2013-12-18 | 2015-06-24 | 群联电子股份有限公司 | 数据抹除方法、存储器控制电路单元及存储器存储装置 |
CN110335635A (zh) * | 2015-09-02 | 2019-10-15 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1338103A (zh) * | 1999-03-08 | 2002-02-27 | 松下电器产业株式会社 | 信息记录介质、信息记录方法、信息记录设备和信息再现设备 |
CN1342314A (zh) * | 1999-02-01 | 2002-03-27 | 松下电器产业株式会社 | 信息记录介质,信息记录方法及信息记录/再现系统 |
JP2007012248A (ja) * | 2005-05-30 | 2007-01-18 | Matsushita Electric Ind Co Ltd | 多層情報記録媒体および情報装置 |
US20090292944A1 (en) * | 2003-12-30 | 2009-11-26 | Gonzalez Carlos J | Adaptive Deterministic Grouping of Blocks into Multi-Block Units |
CN101727397A (zh) * | 2008-10-20 | 2010-06-09 | 群联电子股份有限公司 | 区块管理与更换方法、闪存储存系统及其控制器 |
CN101788954A (zh) * | 2009-01-24 | 2010-07-28 | 群联电子股份有限公司 | 用于快闪存储器的区块管理方法及其存储系统与控制器 |
CN101859278A (zh) * | 2009-04-07 | 2010-10-13 | 群联电子股份有限公司 | 用于闪存的数据储存方法及储存系统 |
-
2010
- 2010-10-26 CN CN201010524505.XA patent/CN102456401B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1342314A (zh) * | 1999-02-01 | 2002-03-27 | 松下电器产业株式会社 | 信息记录介质,信息记录方法及信息记录/再现系统 |
CN1338103A (zh) * | 1999-03-08 | 2002-02-27 | 松下电器产业株式会社 | 信息记录介质、信息记录方法、信息记录设备和信息再现设备 |
US20090292944A1 (en) * | 2003-12-30 | 2009-11-26 | Gonzalez Carlos J | Adaptive Deterministic Grouping of Blocks into Multi-Block Units |
JP2007012248A (ja) * | 2005-05-30 | 2007-01-18 | Matsushita Electric Ind Co Ltd | 多層情報記録媒体および情報装置 |
CN101727397A (zh) * | 2008-10-20 | 2010-06-09 | 群联电子股份有限公司 | 区块管理与更换方法、闪存储存系统及其控制器 |
CN101788954A (zh) * | 2009-01-24 | 2010-07-28 | 群联电子股份有限公司 | 用于快闪存储器的区块管理方法及其存储系统与控制器 |
CN101859278A (zh) * | 2009-04-07 | 2010-10-13 | 群联电子股份有限公司 | 用于闪存的数据储存方法及储存系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732153A (zh) * | 2013-12-18 | 2015-06-24 | 群联电子股份有限公司 | 数据抹除方法、存储器控制电路单元及存储器存储装置 |
CN104732153B (zh) * | 2013-12-18 | 2018-01-12 | 群联电子股份有限公司 | 数据抹除方法、存储器控制电路单元及存储器存储装置 |
CN110335635A (zh) * | 2015-09-02 | 2019-10-15 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
CN110335635B (zh) * | 2015-09-02 | 2021-03-02 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN102456401B (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN102193869A (zh) | 存储器管理与写入方法及其存储器控制器与储存系统 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN102902626A (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102129353A (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN102890653A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102053920B (zh) | 数据写入方法及闪存控制器与闪存存储系统 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN104166558A (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102456401B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN103377132A (zh) | 管理存储器空间的方法、存储器控制器与存储器储存装置 | |
CN102736985B (zh) | 数据合并方法、控制器与储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |