用来管理一记忆装置的方法、记忆装置与控制器的制造方法

文档序号:6550139阅读:198来源:国知局
用来管理一记忆装置的方法、记忆装置与控制器的制造方法
【专利摘要】本发明公开了一种用来管理一记忆装置的方法,记忆装置与记忆装置的控制器,所述方法包括下列步骤:将接收自主装置的数据暂时地储存于所述控制器中的挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入至少非挥发性存储器组件;以及当接收到特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少非挥发性存储器组件中的特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的特定区块内的相同位置达预定次数时,立即将所述特定数据写入所述至少非挥发性存储器组件中的另一区块。本发明不必使用大量的单阶细胞记忆区块,故能省下其所占用的储存空间,以提供更多的多阶细胞记忆区块。
【专利说明】用来管理一记忆装置的方法、记忆装置与控制器

【技术领域】
[0001]本发明是有关于闪存(Flash Memory)的控制,尤指一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器。

【背景技术】
[0002]近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC,CF,MS,XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的访问控制遂成为相当热门的议题。
[0003]以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single Level Cell1SLC)与多阶细胞(Multiple Level Cell1MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(Memory Cell ;也可称为「记忆单元」)的晶体管只有两种电荷值,分别用来表示逻辑值O与逻辑值I。另外,多阶细胞闪存中的每个被当作记忆细胞的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录多个位的信息(例如:00,01,11,10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
[0004]相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。依据现有技术,由于某些类型的多阶细胞闪存的运作复杂,故传统的存储器控制器会将多阶细胞闪存内的一部分实体区块组态成单阶细胞记忆区块,以供接收来自主装置(HostDevice)的写入数据。然而,某些问题就产生了。例如:由于多阶细胞闪存内的一部分实体区块被组态成单阶细胞记忆区块,多阶细胞闪存内可供用来作为多阶细胞记忆区块的实体区块的数量就减少了,使得传统的记忆装置的整体储存容量减少了。又例如:传统的存储器控制器先将接收数据暂时地写入单阶细胞记忆区块,再将数据从单阶细胞记忆区块收集到多阶细胞记忆区块,其中这些单阶细胞记忆区块的储存空间很容易用完,故传统的存储器控制器需要频繁地抹除这些单阶细胞记忆区块。于是,传统的存储器控制器的工作负荷大幅地增加了,且这些额外的运作需要额外的处理时间,使得传统的记忆装置的整体效能变差。因此,需要一种新颖的方法来加强控管闪存的数据存取,以在不产生副作用(例如:储存数据错误)的状况下提升整体效能。


【发明内容】

[0005]因此,本发明的目的之一在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以解决上述问题。
[0006]本发明的另一目的在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以提升记忆装置的运作效能。
[0007]本发明的至少一较佳实施例中公开一种用来管理一记忆装置的方法,所述记忆装置包括至少一非挥发性(Non-volatile,.)存储器组件,每一非挥发性存储器组件包括多个区块(Block),所述方法是应用在所述记忆装置中的一控制器,所述控制器是用来控制所述至少一非挥发性存储器组件,所述方法包括下列步骤:将接收自一主装置(Host Device)的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据;以及当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞(Multiple LevelCell1MLC)记忆区块的一特定区块内的相同位置达一预定次数时,立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞(Single Level Cell, SLC)记忆区块。
[0008]本发明在公开上述方法的同时,也对应地公开一种记忆装置,包括:至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器将接收自一主装置的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据。此外,当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的一特定区块内的相同位置达一预定次数时,所述控制器立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞记忆区块。
[0009]本发明在公开上述方法的同时,也对应地公开一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器包括:一处理单元,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器将接收自一主装置的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据。此外,当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的一特定区块内的相同位置达一预定次数时,所述控制器立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞记忆区块。
[0010]本发明的好处之一是,相较于现有技术,本发明的方法,记忆装置与控制器不必使用大量的单阶细胞记忆区块,故能省下上述大量的单阶细胞记忆区块所占用的储存空间,以提供更多的多阶细胞记忆区块。因此,本发明公开较现有技术更高的储存容量。
[0011]本发明的另一好处是,相较于现有技术,本发明的方法,记忆装置与控制器可在不产生副作用(例如:储存数据错误)的状况下提升整体效能。尤其是,本发明的方法,记忆装置与控制器可大幅地省下先将接收数据暂时地写入上述大量的单阶细胞记忆区块再将数据从上述大量的单阶细胞记忆区块收集到多阶细胞记忆区块的时间,还可省下频繁地抹除上述大量的单阶细胞记忆区块的时间。因此,本发明公开较现有技术更佳的效能。

【专利附图】

【附图说明】
[0012]图1为依据本发明一第一实施例的一种记忆装置的示意图。
[0013]图2绘示本发明的一实施例中关于图1所示的非挥发性存储器组件中140_0,140_1,…,与140_N的任一非挥发性存储器组件140_n的内容安排,其中所述非挥发性存储器组件于本实施例中是快闪芯片。
[0014]图3绘示本发明的另一实施例中关于图1所示的非挥发性存储器组件中的一者的内容安排,其中所述非挥发性存储器组件140_n在本实施例中是快闪芯片CHP(η)。
[0015]图4为依据本发明一实施例的一种用来管理一记忆装置的方法200。
[0016]图5绘示图4所示的方法200在一实施例中所涉及的控制方案。
[0017]图6绘示图4所示的方法200在另一实施例中所涉及的控制方案。
[0018]图7绘示图4所示的方法200在另一实施例中所涉及的控制方案。
[0019]图8绘示图4所示的方法200在另一实施例中所涉及的控制方案。
[0020]图9绘示图4所示的方法200在另一实施例中所涉及的控制方案。
[0021]图10绘示图4所示的方法200在另一实施例中所涉及的控制方案。
[0022]其中,附图标记说明如下:
[0023]100记忆装置
[0024]110处理单元
[0025]120挥发性存储器
[0026]130传输接口
[0027]140_0,140_1,…,140_Ν非挥发性存储器组件
[0028]150总线
[0029]200用来管理一记忆装置的方法
[0030]210,220步骤
[0031]BLK(O), BLK(l), BLK(2),…,
[0032]BLK (M),BLK (m),BLK (m,)区块
[0033]CHP (η)快闪芯片
[0034]Data (O), Data (I), Data (2),
[0035]Data (3), Data (4), Data (5),
[0036]Data (6),Data (7),Data (8),…数据
[0037]Page (0), Page (I), Page (2),
[0038]Page (3), Page (4), Page (5),
[0039]Page (6), Page (7), Page (8),…,
[0040]Page (189), Page(190), Page(191)页
[0041]SEC (0),SEC(I),SEC (2),SEC (3)区段
[0042]WLO1WLl, WL2,
[0043]WL3, WL4, WL5,
[0044]WL6, — ,WL63字线

【具体实施方式】
[0045]请参考图1,其绘示依据本发明一第一实施例的一种记忆装置100的示意图。记忆装置100包括:一处理单元110,一挥发性(Volatile)存储器120,一传输接口 130,多个非挥发性(Non-volatile, NV)存储器组件140_0,140_1,…,与140_N(符号「N」代表一正整数)诸如(N+1)个快闪芯片,以及一总线150。于典型状况下,在传输接口 130耦接至一主装置(未显示于图1)之后,所述主装置可通过传输接口 130来存取(Access)记忆装置100。举例来说,所述主装置可代表一个人计算机,例如一膝上型计算机或一桌面计算机。
[0046]处理单元110可依据内嵌于处理单元110中或接收自处理单元110之外的程序代码(未显示)来管理记忆装置100。例如:所述程序代码可为内嵌于处理单元110的硬件码,尤其是一只读存储器码(ROM code) 0又例如:所述程序代码可为接收自处理单元110之外的韧体码。尤其是,处理单元110是用来控制挥发性存储器120,传输接口 130,非挥发性存储器组件140_0,140_1,…,与140_N以及总线150。本实施例的处理单元110可为一高级缩减指令集计算机机器(Advanced Reduced Instruct1n Set Computer Machine, AdvancedRISC Machine, ARM)处理器或一亚哥缩减指令集计算机核心(Argonaut RISC Core, ARC)处理器。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,处理单元110可为其它种处理器。
[0047]另外,挥发性存储器120可用来储存一全局页地址链接表(Global Page AddressLinking Table),所述主装置所存取的数据以及用来存取记忆装置100的其它所需信息。本实施例的挥发性存储器120可为一动态随机存取存储器(Dynamic Random AccessMemory, DRAM)或一静态随机存取存储器(Static Random Access Memory, SRAM)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,挥发性存储器120可为其它种挥发性存储器。例如:挥发性存储器120可包括一静态随机存取存储器(Static Random Access Memory, SRAM)。
[0048]依据本实施例,图1所示的传输接口 130是用来传输数据以及所述主装置与记忆装置100之间的指令,其中传输接口 130符合一特定通信标准诸如串行高级技术附件(Serial Advanced Technology Attachment, SATA)标准,并列高级技术附件(ParallelAdvanced Technology Attachment, PATA)标准或通用串行总线(Universal SerialBus, USB)标准。例如:记忆装置100是一设置于所述主装置中的固态硬盘(Solid StateDrive, SSD),且所述特定通信标准可为用来实施所述主装置的内部通信的一些典型通信标准,诸如串行高级技术附件标准或并列高级技术附件标准。又例如:记忆装置100是一固态硬盘且位于所述主装置之外,并且所述特定通信标准可为用来实施所述主装置的外部通信的一些典型通信标准,诸如通用串行总线标准。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,记忆装置100可为一可携式记忆装置诸如一记忆卡,且所述特定通信标准可为用来实施一记忆卡的输入/输出接口的一些典型通信标准,诸如安全数码(Secure Digital, SD)标准或小型快闪(Compact Flash, CF)标准。
[0049]另外,非挥发性存储器组件140_0,140_1,...,与140_N是用来储存数据,其中非挥发性存储器组件140_0,140_1,…,与140_N可为(但不限于)NAND型快闪芯片。总线150是用来耦接处理单元110,挥发性存储器120,传输接口 130和非挥发性存储器组件140_0,140_1,…,与140_N,以及用来进行其通信。于本实施例中,图1所示架构中除了非挥发性存储器组件140_0,140_1,…,与140_N2外的部分可整合成一控制器,尤其是一集成电路(Integrated Circuit, IC)诸如一控制器芯片,其中所述控制器是用来控制记忆装置100中的至少一非挥发性存储器组件诸如非挥发性存储器组件140_0,140_1,…,与140_N,故可视为记忆装置100的控制器。
[0050]图2绘示本发明一实施例中关于图1所示的非挥发性存储器组件140_0,140_1,…,与140_N中的任一非挥发性存储器组件140_n的内容安排,其中非挥发性存储器组件140_11在本实施例中可称为快闪芯片CHP (η),而索引η可代表落入区间[0,N]的范围内的任一整数。如图2所示,非挥发性存储器组件140_0,140_1,…,与140_Ν*的每一非挥发性存储器组件诸如快闪芯片CHP(η)可包括多个区块(Block)诸如图2所示的各个区块BLK (O),BLK(I),BLK (2),…,与BLK (M)(符号「Mj代表一正整数),其中每一区块可包括多页,而每一页可包括多个区段。于本实施例中,一区段可为最小读取单位。换言之,在一读取运作期间,处理单元110可读取一个区段或多个区段。这只是为了说明的目的而已,并非对本发明的限制。
[0051 ] 如图2所示,在非挥发性存储器组件140_N诸如快闪芯片CHP (η)中的一区块(例如区块BLK(O))被组态成单阶细胞(Single Level Cell,SLC)记忆区块的状况下,所述区块诸如区块BLK(O)可包括一预定数量的多页,诸如分别对应于多个字线(Word-Line) WLO,WLl,WL2,…,与 WL63 的各页 Page (O),Page(I), Page (2),…,与Page (63),其中每一页诸如页Page(O)可包括区段SEC(O),SEC(I),SEC(2),与SEC(3)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,诸如图3所示的实施例,在非挥发性存储器组件140_n诸如快闪芯片CHP(n)中的一区块(例如区块BLK(O))被组态成多阶细胞(Multiple Level Cell,MLC)记忆区块诸如三阶细胞(Triple Level Cell,TLC)记忆区块的状况下,所述区块诸如区块BLK(O)可包括一预定数量的多页,诸如分别对应于上述多个字线WLO,WL1,WL2,…,与 WL63 的各组页{Page (O), Page (I), Page (2)} , {Page (3), Page (4), Page (5)},{Page (6), Page (7), Page (8)},...,与{Page (189), Page (190), Page (191)},其中每一页诸如页 Page(O)可包括区段 SEC(O),SEC(I),SEC (2)与 SEC (3)。
[0052]请注意,上述的至少一非挥发性存储器组件中的任一区块中的每一记忆细胞(Memory Cell)的储存容量大于一个位,其中所述控制器可选择性地将这个区块组态成单阶细胞记忆区块以在一个记忆细胞储存一个位,也可选择性地将这个区块组态成多阶细胞记忆区块以在一个记忆细胞储存多个位。
[0053]图4为依据本发明一实施例的一种用来管理一记忆装置的方法200。所述方法可应用在图1所示的记忆装置100,尤其是上述的控制器(例如:通过处理单元110执行上述程序代码的存储器控制器),其中执行上述程序代码的所述控制器是用来控制上述的至少一非挥发性存储器组件诸如图1所示的非挥发性存储器组件140_0,140_1,…,与140_N。所述方法说明如下:
[0054]在步骤210中,所述控制器将接收自所述主装置的数据暂时地储存于所述控制器中的挥发性存储器120作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入上述的至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据。例如:当所述接收数据中的部分数据(Partial Data)的数据量达到一预定数据量临界值H)DA_TH时,所述控制器立即将所述部分数据写入上述的至少一非挥发性存储器组件,尤其是将所述部分数据直接写入至少一个多阶细胞记忆区块,而非通过先将所述接收数据暂时地写入如现有技术中的大量的单阶细胞记忆区块中的一个或多个单阶细胞记忆区块来间接地将所述接收数据写入上述至少一个多阶细胞记忆区块。如此,所述控制器不必使用上述大量的单阶细胞记忆区块,故能避免现有技术的问题。
[0055]于步骤220中,当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入上述的至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块(例如图3所示实施例中具有192页Page (O) ,Page (I),…,Page (191)的所述区块)的一特定区块内的相同位置达一预定次数H)NT_WR时,所述控制器立即将所述特定数据写入上述的至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常,或指出记忆装置100将关机,而预定次数roNT_WR大于一,并且所述另一区块是被组态成单阶细胞(SingleLevel Cell1SLC)记忆区块(例如图2所示实施例中具有64页Page (O),Page (I),…,Page (63)的所述区块)。依据本实施例的不同的变化例,所述特定信号可包括一关机指令与一电源侦测信号中的至少一者(例如:所述关机指令;又例如:所述电源侦测信号;又例如:所述关机指令与所述电源侦测信号),其中所述电源侦测信号是用来指出关于所述电源的电源丧失(Power Loss)与电源下降(Power Down)中的任一者的发生。所述关机指令的例子可包括(但不限于)来自所述主装置的清除快取指令。
[0056]实作上,所述特定非挥发性存储器组件可为图3所示实施例中的快闪芯片CHP (η),而所述特定区块可为区块{BLK (O),BLK (I),BLK (2),…,BLK (M)}中的一区块诸如区块BLK(m),并且索引m可代表落入区间[0,M]的范围内的任一整数。尤其是,所述另一区块可为异于所述特定区块的任何区块,诸如区块BLK(m’),而索引m’可代表落入区间[0,M]的范围内的任一可能的整数。例如:所述另一区块和所述特定区块可位于同一个快闪芯片,其中索引m’不等于索引m。又例如:所述另一区块和所述特定区块可位于不同的快闪芯片,其中索引m’可为落入区间[0,M]的范围内的任一整数。
[0057]依据本实施例,在所述特定区块中的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达预定次数roNT_WR以使所述记忆细胞于所述特定非挥发性存储器组件当中被正确地程序化(Progra_ed),以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取。实作上,挥发性存储器120的储存容量大于或等于预定数据量临界值H)DA_TH和预定次数H)NT_WR的乘积(roDA_TH*roNT_WR),以容许所述接收数据的至少一部分被用在所述记忆细胞的重复写入运作。例如:针对某些类型的多阶细胞闪存而言,所述特定区块可被组态成三阶细胞记忆区块,而预定次数roNT_WR可等于三,并且预定数据量临界值roDA_TH可等于所述特定非挥发性存储器组件当中属于一个字线(Word-Line)的一组记忆细胞的储存容量。这只是为了说明的目的而已,并非对本发明的限制。
[0058]请注意,于本实施例中,所述控制器可多次将所述接收数据直接写入所述特定区块,以确保用户数据不会有任何错误。尤其是,在所述控制器的控制下,所述接收数据被写入所述特定区块的次数达到预定次数roNT_WR以使所述特定区块中属于一特定字线的一特定组记忆细胞于所述特定非挥发性存储器组件当中被正确地程序化,以致所述接收数据中的每一位均正确地储存于所述特定组记忆细胞以供进一步读取。
[0059]依据本实施例的某些变化例,所述控制器自所述主装置分别接收多组数据{Data (O),Data (I),Data (2)} , {Data (3), Data (4), Data (5)},{Data (6), Data (7), Data (8)},,且将所述多组数据{Data (0), Data (I), Data (2)},{Data (3), Data (4), Data (5)}, {Data (6), Data (7), Data (8)},…暂时地储存于挥发性存储器120,其中所述多组数据中的每一组数据包括多页,且所述多组数据中的每一组数据的数据量等于预定数据量临界值H)DA_TH。尤其是,所述控制器自挥发性存储器120 读取所述多组数据{Data (O), Data (I), Data (2)}, {Data (3), Data (4), Data (5)},{Data(6),Data(7),Data(8)},…中的至少一组数据,以将上述的至少一组数据直接写入所述特定区块,其中上述的至少一组数据被写入所述特定区块的次数尚未达到预定次数H)NT_WR,并且步骤220中所述的所述特定数据包括上述的至少一组数据。这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,所述控制器自挥发性存储器 120 读取所述多组数据{Data (O), Data (I), Data (2)}, {Data (3), Data (4), Data (5)},{Data (6), Data (7), Data (8)},以分别将所述多组数据{Data (O), Data(I), Data (2)},{Data (3), Data (4), Data (5)}, {Data (6), Data (7), Data (8)},…直接写入所述特定区块,并且多次将所述多组数据(Data(O), Data(I), Data(2)}, {Data(3),Data(4),Data(5)},{Data (6), Data (7), Data (8)},…中的第一组数据{Data (O), Data (I), Data (2)}直接写入所述特定区块,其中第一组数据{Data (O),Data (I),Data (2)}被写入所述特定区块的次数达到预定次数H)NT_WR以使所述特定区块中属于一特定字线的一特定组记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化,以致第一组数据{Data (O),Data(I),Data (2)}中的每一位均正确地储存于所述特定组记忆细胞以供进一步读取。
[0060]依据本发明的某些实施例,所述控制器可自所述主装置逐页地接收所述多组数据{Data (O),Data (I),Data (2)} , {Data (3),Data (4),Data (5)},{Data (6) ,Data (7) ,Data (8)},…中的至少一组数据中的至少一页(例如:一页或多页),且将所述组数据中的上述至少一页暂时地储存于挥发性存储器120,其中所述特定数据包括所述组数据中的上述至少一页,以及在所述组数据的总接收数据量达到预定数据量临界值H)DA_TH之前,所述组数据并未被写入所述特定区块。当所述特定信号所代表的危机状况(例如:所述电源是反常;又例如:记忆装置100将关机)解除时,所述控制器可自所述另一区块读取所述组数据中的上述至少一页,并将读取自所述另一区块的上述至少一页暂时地储存于挥发性存储器120,以供写入所述特定区块。如此,所述控制器可确保挥发性存储器120中的最新储存信息等同于上述的危机状况出现时挥发性存储器120中的储存信息,借此,所述控制器可继续正常的运作,犹如上述的危机状况未曾出现。
[0061]尤其是,在所述组数据尚未被完整地接收的状况下(例如:所述组数据中的上述至少一页的数据量小于所述组数据的数据量),所述控制器可自所述主装置逐页地接收所述组数据中的至少一其它页(例如:一页或多页),且将所述组数据中的上述至少一其它页暂时地储存于挥发性存储器120,直到所述组数据的所述总接收数据量达到预定数据量临界值H)DA_TH。当所述组数据的所述总接收数据量达到预定数据量临界值H)DA_TH时(亦即,于这些实施例中,所述组数据现在已经被完整地接收),所述控制器可自挥发性存储器120读取所述组数据的至少一部分,以将所述组数据直接写入所述特定区块。
[0062]另外,在所述组数据已经被完整地接收的状况下(例如:所述组数据中的上述至少一页的数据量等于所述组数据的数据量;又例如:所述组数据中的上述至少一页的数据量小于所述组数据的数据量并且所述控制器还接收所述组数据中的上述至少一其它页),所述控制器可自所述主装置逐页地接收所述多组数据{Data (O),Data (I),Data (2)},{Data (3), Data (4), Data (5)}, {Data (6), Data (7), Data (8)},…中的另一组数据且将所述另一组数据暂时地储存于挥发性存储器120,直到所述另一组数据的总接收数据量达到预定数据量临界值H)DA_TH,其中在所述另一组数据的所述总接收数据量达到预定数据量临界值H)DA_TH之前,所述另一组数据并未被写入所述特定区块。当所述另一组数据的所述总接收数据量达到预定数据量临界值H)DA_TH时,所述控制器自挥发性存储器120读取所述另一组数据的至少一部分,以将所述另一组数据直接写入所述特定区块,并且再一次将所述组数据直接写入所述特定区块。于是,通过多次将所述组数据直接写入所述特定区块,所述组数据中的任一页数据的每一位均正确地储存于所述特定区块以供进一步读取。
[0063]图5绘示图4所示的方法200在一实施例中所涉及的控制方案,其中图5所示的数据 Data (O),Data (I),Data (2),Data (3),Data (4),Data (5),Data (6),…中的每一者可为一页数据。例如:一页数据的大小可为16KB(Kilobyte,即千字节)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例,所述控制器自所述主装置逐页地接收第一组数据{Data (O), Data (I), Data (2)}且将第一组数据{Data (O), Data (I), Data (2)}暂时地储存于挥发性存储器120,其中在第一组数据{Data (O),Data (I),Data (2)}的总接收数据量达到预定数据量临界值H)DA_TH之前,第一组数据{Data (O),Data (I),Data (2)}并未被写入所述特定区块。实作上,一组数据(例如:第一组数据{Data (O),Data (I),Data (2)};又例如:其它组数据{Data(3), Data(4), Data(5)}, {Data(6), Data(7), Data(8)},…中的任一组数据)的总接收数据量可为这一组数据当中已经暂时地储存于挥发性存储器120的数据的数据量。这只是为了说明的目的而已,并非对本发明的限制。如图5所示,当第一组数据{Data (O),Data (I),Data (2)}的总接收数据量达到预定数据量临界值H)DA_TH时,所述控制器自挥发性存储器120读取第一组数据{Data (O),Data (I),Data (2)}的至少一部分,以将第一组数据{Data (O),Data (I),Data (2)}直接写入所述特定区块诸如区块BLK (m)。相仿地,所述控制器对第二组数据{Data(3),Data(4),Data(5)}进行了类似的运作。
[0064]请注意,本实施例的所述特定数据包括第一组数据{Data (O),Data(l), Data (2)}与第二组数据{Data (3),Data (4),Data (5)}。当所述特定信号所代表的危机状况出现时,由于第一组数据{Data (O), Data (I), Data (2)}与第二组数据{Data (3), Data (4), Data (5)}尚未被写入所述特定区块达预定次数roNT_WR,故所述控制器立即将第一组数据{Data (O), Data (I), Data (2)}与第二组数据{Data (3), Data (4), Data (5)}写入所述另一区块诸如区块BLK(m’),尤其是分别写入区块BLK(m’ )中的某些页Page (O),Page (I),Page (2),Page (3),Page (4),与 Page (5)。
[0065]图6绘示图4所示的方法200在另一实施例中所涉及的控制方案,其中图6所不的数据 Data (O),Data (I),Data (2),Data (3),Data (4),Data (5),Data (6),…中的每一者可为一页数据。例如:所述控制器已进行图5所示实施例中的运作。依据本实施例,当所述特定信号所代表的危机状况解除时,所述控制器自所述另一区块读取第一组数据{Data (O), Data (I), Data (2)}与第二组数据{Data (3), Data (4), Data (5)},并将读取自所述另一区块的第一组数据{Data (O),Data (I),Data (2)}与第二组数据{Data (3) ,Data (4) ,Data (5)}暂时地储存于挥发性存储器120,以供写入所述特定区块。
[0066]图7绘示图4所示的方法200在另一实施例中所涉及的控制方案。相较于图5所示实施例,本实施例的所述特定数据包括第一组数据{Data (O),Data (I),Data (2)},第二组数据{Data (3),Data (4),Data (5)},与数据Data (3)。另外,数据Data (3)可视为前述所述组数据中的上述至少一页,诸如第三组数据{Data(6),Data(7),Data(8)}中的上述至少一页。本实施例与前述实施例/变化例相仿之处不再重复赘述。
[0067]图8绘示图4所示的方法200在另一实施例中所涉及的控制方案。相较于图5所示实施例,本实施例的所述特定数据包括第一组数据{Data (O),Data (I),Data (2)}以及数据Data(3)与Data(4)。另外,数据Data(3)与Data(4)可视为前述所述组数据中的上述至少一页,诸如第二组数据{Data(3),Data(4),Data(5)}中的上述至少一页。本实施例与前述实施例/变化例相仿之处不再重复赘述。
[0068]图9绘示图4所示的方法200在另一实施例中所涉及的控制方案。相较于图5所示实施例,本实施例的所述特定数据包括数据Data(O)。另外,数据Data(O)可视为前述所述组数据中的上述至少一页,诸如第一组数据{Data (O),Data (I),Data (2)}中的上述至少一页。本实施例与前述实施例/变化例相仿之处不再重复赘述。
[0069]图10绘示图4所示的方法200在另一实施例中所涉及的控制方案。相较于图5所示实施例,本实施例的所述特定数据包括数据Data(O)与Data(I)。另外,数据Data(O)与Data(I)可视为前述所述组数据中的上述至少一页,诸如第一组数据{Data (O) ,Data (I) ,Data (2)}中的上述至少一页。本实施例与前述实施例/变化例相仿之处不再重复赘述。
[0070]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种用来管理一记忆装置的方法,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述方法是应用在所述记忆装置中的一控制器,所述控制器是用来控制所述至少一非挥发性存储器组件,所述方法的特征在于包括下列步骤: 将接收自一主装置的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据;以及 当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的一特定区块内的相同位置达一预定次数时,立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞记忆区块。
2.如权利要求1所述的用来管理所述记忆装置的方法,其特征在于,在所述特定区块中的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达所述预定次数以使所述记忆细胞于所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取。
3.如权利要求2所述的用来管理所述记忆装置的方法,其特征在于还包括: 当所述接收数据中的部分数据的数据量达到一预定数据量临界值时,立即将所述部分数据写入所述至少一非挥发性存储器组件; 其中所述挥发性存储器的储存容量大于或等于所述预定数据量临界值和所述预定次数的乘积,以容许所述接收数据的至少一部分被用在所述记忆细胞的重复写入运作。
4.如权利要求3所述的用来管理所述记忆装置的方法,其特征在于,所述预定数据量临界值等于所述特定非挥发性存储器组件当中属于一个字线的一组记忆细胞的储存容量。
5.如权利要求4所述的用来管理所述记忆装置的方法,其特征在于,所述多个区块中的任一区块包括一预定数量的页,该预定数量大于I ;以及所述方法还包括: 自所述主装置分别接收多组数据,且将所述多组数据暂时地储存于所述挥发性存储器,其中所述多组数据中的每一组数据包括多页,且所述多组数据中的每一组数据的数据量等于所述预定数据量临界值;以及 自所述挥发性存储器读取所述多组数据中的至少一组数据,以将所述至少一组数据直接写入所述特定区块,其中所述至少一组数据被写入所述特定区块的次数尚未达到所述预定次数; 其中所述特定数据包括所述至少一组数据。
6.如权利要求2所述的用来管理所述记忆装置的方法,其特征在于,所述多个区块中的任一区块包括一预定数量的页,该预定数量大于I ;以及所述方法还包括: 自所述主装置逐页地接收包括多页的一组数据中的至少一页,且将所述组数据中的所述至少一页暂时地储存于所述挥发性存储器,其中所述特定数据包括所述组数据中的所述至少一页,以及在所述组数据的总接收数据量达到一预定数据量临界值之前,所述组数据并未被写入所述特定区块;以及 自所述另一区块读取所述组数据中的所述至少一页,并将读取自所述另一区块的所述至少一页暂时地储存于所述挥发性存储器,以供写入所述特定区块。
7.如权利要求6所述的用来管理所述记忆装置的方法,其特征在于还包括: 自所述主装置逐页地接收所述组数据中的至少一其它页,且将所述组数据中的所述至少一其它页暂时地储存于所述挥发性存储器;以及 当所述组数据的所述总接收数据量达到所述预定数据量临界值时,自所述挥发性存储器读取所述组数据的至少一部分,以将所述组数据直接写入所述特定区块。
8.如权利要求6所述的用来管理所述记忆装置的方法,其特征在于还包括: 自所述主装置逐页地接收包括多页的另一组数据且将所述另一组数据暂时地储存于所述挥发性存储器,直到所述另一组数据的总接收数据量达到所述预定数据量临界值,其中在所述另一组数据的所述总接收数据量达到所述预定数据量临界值之前,所述另一组数据并未被写入所述特定区块;以及 当所述另一组数据的所述总接收数据量达到所述预定数据量临界值时,自所述挥发性存储器读取所述另一组数据的至少一部分,以将所述另一组数据直接写入所述特定区块,并且再一次将所述组数据直接写入所述特定区块; 其中,通过多次将所述组数据直接写入所述特定区块,所述组数据中的任一页数据的每一位均正确地储存于所述特定区块以供进一步读取。
9.如权利要求1所述的用来管理所述记忆装置的方法,其特征在于,所述特定信号包括一关机指令与一电源侦测信号中的至少一者,其中所述电源侦测信号是用来指出关于所述电源的电源丧失与电源下降中的任一者的发生。
10.如权利要求1所述的用来管理所述记忆装置的方法,其特征在于,所述至少一非挥发性存储器组件中的任一区块中的每一记忆细胞的储存容量大于一个位。
11.一种记忆装置,其特征在于包括: 至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及 一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器将接收自一主装置的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据; 其中当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的一特定区块内的相同位置达一预定次数时,所述控制器立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞记忆区块。
12.如权利要求11所述的记忆装置,其特征在于,在所述特定区块中的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达所述预定次数以使所述记忆细胞于所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取。
13.如权利要求12所述的记忆装置,其特征在于,当所述接收数据中的部分数据的数据量达到一预定数据量临界值时,所述控制器立即将所述部分数据写入所述至少一非挥发性存储器组件;以及所述挥发性存储器的储存容量大于或等于所述预定数据量临界值和所述预定次数的乘积,以容许所述接收数据的至少一部分被用在所述记忆细胞的重复写入运作。
14.如权利要求13所述的记忆装置,其特征在于,所述预定数据量临界值等于所述特定非挥发性存储器组件当中属于一个字线的一组记忆细胞的储存容量。
15.如权利要求14所述的记忆装置,其特征在于,所述多个区块中的任一区块包括一预定数量的页,该预定数量大于I ;所述控制器自所述主装置分别接收多组数据,且将所述多组数据暂时地储存于所述挥发性存储器,其中所述多组数据中的每一组数据包括多页,且所述多组数据中的每一组数据的数据量等于所述预定数据量临界值;所述控制器自所述挥发性存储器读取所述多组数据中的至少一组数据,以将所述至少一组数据直接写入所述特定区块,其中所述至少一组数据被写入所述特定区块的次数尚未达到所述预定次数;以及所述特定数据包括所述至少一组数据。
16.一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器的特征在于包括: 一处理单元,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器将接收自一主装置的数据暂时地储存于所述控制器中的一挥发性存储器作为接收数据,并动态地监控所述接收数据的数据量以决定是否立即将所述接收数据写入所述至少一非挥发性存储器组件,其中接收自所述主装置的至少一写入指令指出所述主装置要求写入所述数据; 其中当接收到一特定信号,并且侦测到所述接收数据中存在特定数据尚未被写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件当中被组态成多阶细胞记忆区块的一特定区块内的相同位置达一预定次数时,所述控制器立即将所述特定数据写入所述至少一非挥发性存储器组件中的另一区块,以避免所述特定数据的损失,其中所述特定信号指出所述控制器的电源是反常或指出所述记忆装置将关机,而所述预定次数大于一,以及所述另一区块是被组态成单阶细胞记忆区块。
17.如权利要求16所述的控制器,其特征在于,在所述特定区块中的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达所述预定次数以使所述记忆细胞于所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取。
18.如权利要求17所述的控制器,其特征在于,当所述接收数据中的部分数据的数据量达到一预定数据量临界值时,所述控制器立即将所述部分数据写入所述至少一非挥发性存储器组件;以及所述挥发性存储器的储存容量大于或等于所述预定数据量临界值和所述预定次数的乘积,以容许所述接收数据的至少一部分被用在所述记忆细胞的重复写入运作。
19.如权利要求18所述的控制器,其特征在于,所述预定数据量临界值等于所述特定非挥发性存储器组件当中属于一个字线的一组记忆细胞的储存容量。
20.如权利要求19所述的控制器,其特征在于,所述多个区块中的任一区块包括一预定数量的页,该预定数量大于I ;所述控制器自所述主装置分别接收多组数据,且将所述多组数据暂时地储存于所述挥发性存储器,其中所述多组数据中的每一组数据包括多页,且所述多组数据中的每一组数据的数据量等于所述预定数据量临界值;所述控制器自所述挥发性存储器读取所述多组数据中的至少一组数据,以将所述至少一组数据直接写入所述特定区块,其中所述至少一组数据被写入所述特定区块的次数尚未达到所述预定次数;以及所述特定数据包括所述至少一组数据。
【文档编号】G06F12/06GK104346292SQ201410275650
【公开日】2015年2月11日 申请日期:2014年6月19日 优先权日:2013年8月5日
【发明者】周柏升, 范育玮, 詹仲元 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1