用来管理一记忆装置的方法以及记忆装置与控制器与流程

文档序号:12176254阅读:355来源:国知局
用来管理一记忆装置的方法以及记忆装置与控制器与流程

本发明涉及闪存(Flash Memory)的控制,尤其涉及一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器。



背景技术:

近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的访问控制遂成为相当热门的议题。

以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single Level Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(Memory Cell;也可称为「记忆单元」)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆细胞的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录多个位的信息(例如:00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。

相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。依据相关技术,由于某些类型的多阶细胞闪存的运作复杂,故某些问题就产生了。例如:采用这些类型的多阶细胞闪存的传统的记忆装置在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」)的时间会大幅地增加,使得相关成本(诸如时间成本、人力成本)也对应地增加。因此,需要一种新颖的方法来加强对记忆装置的控制,以在不产生副作用的状况下提升初始化的效率。



技术实现要素:

因此,本发明的目的之一在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以解决上述问题。

本发明的另一目的在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以提升记忆装置的运作效能并节省相关成本(诸如时间成本、人力成本)。

本发明的至少一较佳实施例中公开一种用来管理一记忆装置的方法,所述记忆装置包括至少一非挥发性(Non-volatile,NV)存储器组件,每一非挥发性存储器组件包括多个区块(Block),所述方法包括有下列步骤:传送一最后写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存;以及在写入所述组数据至所述特定区块之后,传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。

本发明于公开上述方法的同时,也对应地公开一种记忆装置,包括有:至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器传送一最后写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存。此外,在写入所述组数据至所述特定区块之后,所述控 制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。

本发明于公开上述方法的同时,也对应地公开一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器包括有:一处理单元,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器传送一最后写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存。此外,于写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。

本发明的有益之处是:相较于相关技术,本发明的方法、记忆装置、与控制器可大幅地省下记忆装置在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」)的时间,其中上述的初始化通常在记忆装置刚制造完成时进行。因此,本发明公开较相关技术更佳的效能,并可节省相关成本(诸如时间成本、人力成本)。

附图说明

图1为依据本发明一第一实施例的一种记忆装置的示意图。

图2为依据本发明一实施例的一种用来管理一记忆装置的方法。

图3绘示图1所示的记忆装置在一实施例中所涉及的控制方案。

图4绘示图1所示的记忆装置在另一实施例中所涉及的控制方案。

图5绘示图2所示的方法在一实施例中所涉及的控制方案。

其中,附图标记说明如下:

100 记忆装置

110 处理单元

120 挥发性存储器

130 传输接口

140_0,140_1,…,140_N 非挥发性存储器组件

150 总线

200 方法

210,220 步骤

AR,BR,CR,DR,ER,FR,GR 临界值

具体实施方式

请参考图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。举例来说,所述主装置可代表一个人计算机,例如一膝上型计算机或一桌面计算机。

处理单元110可依据内嵌于处理单元110中或接收自处理单元110之外的程序代码(未显示)来管理记忆装置100。例如:所述程序代码可为内嵌于处理单元110的硬件码,尤其是一只读存储器码(ROM code)。又例如:所述程序代码可为接收自处理单元110之外的固件码。尤其是,处理单元110是用来控制挥发性存储器120、传输接口130、非挥发性存储器组件140_0、140_1、…、与140_N、以及总线150。本实施例的处理单元110可为一高级缩减指令集计算机机器(Advanced Reduced Instruction Set Computer Machine,Advanced RISC Machine,ARM)处理器或一亚哥缩减指令集计算机核心(Argonaut RISC Core,ARC)处理器。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,处理单元110可为其它种处理器。依据本实施例的某 些的变化例,处理单元110可从记忆装置100之外的一个外部电子装置(诸如个人计算机)接收某些指令,并且依据这些指令进行记忆装置100在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」),其中上述的初始化通常在记忆装置100刚制造完成时进行。此状况下,执行于所述外部电子装置中关于对应的初始化流程的程序也可视为上述的接收自处理单元110之外的程序代码的例子。

另外,挥发性存储器120可用来储存一全局页地址链结表(Global Page Address Linking Table)、所述主装置所存取的数据、以及用来存取记忆装置100的其它所需信息。本实施例的挥发性存储器120可为一动态随机存取存储器(Dynamic Random Access Memory,DRAM)或一静态随机存取存储器(Static Random Access Memory,SRAM)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,挥发性存储器120可为其它种挥发性存储器。例如:挥发性存储器120可包括一静态随机存取存储器(Static Random Access Memory,SRAM)。

依据本实施例,图1所示的传输接口130是用来传输数据以及所述主装置与记忆装置100之间的指令,其中传输接口130符合一特定通信标准诸如串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、并列高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、或通用串行总线(Universal Serial Bus,USB)标准。例如:记忆装置100是一设置于所述主装置中的固态硬盘(Solid State Drive,SSD),且所述特定通信标准可为用来实施所述主装置的内部通信的一些典型通信标准,诸如串行高级技术附件标准或并列高级技术附件标准。又例如:记忆装置100是一固态硬盘且位于所述主装置的外,并且所述特定通信标准可为用来实施所述主装置的外部通信的一些典型通信标准,诸如通用串行总线标准。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,记忆装置100可为一可携式记忆装置诸如一记忆卡,且所述特定通信标准可为用来实施一记忆卡的输入/输出接口的一些典型通信标准,诸如安全数码(Secure Digital,SD)标准或小型快闪(Compact Flash,CF)标准。

另外,非挥发性存储器组件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_N之外的部分可整合成一控制器,尤其是一集成电路(Integrated Circuit,IC)诸如一控制器芯片,其中所述控制器是用来控制记忆装置100中的至少一非挥发性存储器组件诸如非挥发性存储器组件140_0、140_1、…、与140_N,故可视为记忆装置100的控制器。

在本实施例中,图1所示的非挥发性存储器组件140_0、140_1、…、与140_N中的每一非挥发性存储器组件,诸如非挥发性存储器组件140_n,可包括多个区块(Block),其中非挥发性存储器组件140_n在本实施例中可称为一快闪芯片,而索引n可代表落入区间[0,N]的范围内的任一整数。尤其是,每一区块可包括多页,而每一页可包括多个区段。例如,一区段可为最小读取单位。换言之,在一读取运作期间,处理单元110可读取一个区段或多个区段。这只是为了说明的目的而已,并非对本发明的限制。

图2为依据本发明一实施例的一种用来管理一记忆装置的方法200。所述方法可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过处理单元110执行上述程序代码的存储器控制器),其中执行上述程序代码的所述控制器是用来控制上述的至少一非挥发性存储器组件诸如图1所示的非挥发性存储器组件140_0、140_1、…、与140_N。所述方法说明如下:

在步骤210中,所述控制器传送一最后写入指令至上述的至少一非挥发性存储器组件中的一特定非挥发性存储器组件(例如:非挥发性存储器组件140_n)以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入上述的至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存。例如:所述组数据可包括一预定型样(Pattern)的数据。这只是为了说明的目的而已,并非对本发明的限制。

在步骤220中,在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数 据的储存数据(也就是说,所述组数据的储存结果),并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。例如:当所述储存数据和所述组数据不吻合时,所述控制器判断所述特定区块为坏区块,并可将所述特定区块记录为坏区块。又例如:当所述储存数据和所述组数据吻合时,所述控制器判断所述特定区块为好区块,并可将所述特定区块记录为好区块。

在步骤230中,所述控制器检查是否应当停止。当侦测到应当停止时(例如:待检查的区块都检查完毕),则结束图2所示的工作流程;否则,重新进入步骤210。如图2所示,步骤210与步骤220的运作可以重复地进行,以逐区块地进行多个区块的质量扫描测试,尤其是,所述控制器可逐区块地进行非挥发性存储器组件140_n内的至少一部分(例如:一部分区块、或全部的区块)的质量扫描测试,直到非挥发性存储器组件140_n内的上述至少一部分(例如:一部分区块、或全部的区块)都检查完毕。这只是为了说明的目的而已,并非对本发明的限制。例如:所述控制器可逐区块地进行上述的至少一非挥发性存储器组件内的多个非挥发性存储器组件(例如:一部分非挥发性存储器组件、或全部的非挥发性存储器组件)内的全部的区块的质量扫描测试,直到上述的多个非挥发性存储器元中的每一非挥发性存储器组件内的全部的区块都检查完毕。

依据本实施例,在上述的至少一非挥发性存储器组件中的任一非挥发性存储器组件的一区块的一记忆细胞(Memory Cell)被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达一预定次数以使所述记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化(Programmed),以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取,其中所述预定次数大于一。尤其是,所述第一写入指令是用来指示所述任一非挥发性存储器组件中的一内部控制电路第一次将所述多个位写入所述记忆细胞,而所述第二写入指令是用来指示所述内部控制电路第二次将所述多个位写入所述记忆细胞,且所述最后写入指令是用来指示所述内部控制电路末次将所述多个位写入所述记忆细胞。例如:所述预定次数可等于三,并且所述最后写入指令是用来指示所述内部控制电路第三次将所述多个位写入所述记忆细胞。

请注意,在本实施例中,针对写入所述相同数据,所述内部控制电路因应所述第一写入指令所进行的运作的忙碌时间通常小于所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间,并且,针对写入所述相同数据,所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间通常小于所述内部控制电路因应所述最后写入指令所进行的运作的忙碌时间,其中上述的忙碌时间可通过侦测所述特定非挥发性存储器组件(例如:非挥发性存储器组件140_n)所输出的一忙碌信号而取得。尤其是,在上述所述特定区块中的一记忆细胞(诸如上述的所述记忆细胞)的储存容量大于一个位的状况下,所述控制器可利用所述最后写入指令控制所述记忆细胞只能处于对应多个位的多个可程序化状态中的一部分中的一状态,而非所述多个可程序化状态中的任一状态。例如:所述多个可程序化状态包括对应三个位的八个可程序化状态,而所述多个可程序化状态中的上述所述部分内的状态的数量小于八,其中这八个可程序化状态的总数对应于23,也就是说,8。

如前面所述,图2所示的方法200可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过处理单元110执行上述程序代码的存储器控制器)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,在处理单元110可从上述的外部电子装置接收某些指令的状况下,图2所示的方法200也可应用于所述外部电子装置。

图3绘示图1所示的记忆装置100在一实施例中所涉及的控制方案。依据本实施例,所述控制器可在需要时任意地使用所述第一写入指令、所述第二写入指令、与所述最后写入指令,而不受步骤210的限制。此状况下,所述控制器可利用所述第一写入指令、所述第二写入指令、与所述最后写入指令控制所述特定区块中的所述记忆细胞处于所述多个可程序化状态中的任一状态,诸如图3所示的八个曲线所代表的八个可程序化状态中的任一状态。请注意,所述控制器可依据多个临界值{AR,BR,CR,DR,ER,FR,GR}来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的哪一状态,取得储存于所述记忆细胞中的全部位的数据(在本实施例中是三个位的数据)。

图4绘示图1所示的记忆装置100在另一实施例中所涉及的控制方案。依据 本实施例,所述控制器仅仅使用所述最后写入指令。此状况下,所述控制器利用所述最后写入指令控制所述特定区块中的所述记忆细胞处于所述多个可程序化状态中的任一状态,诸如图4所示的八个曲线所代表的八个可程序化状态中的任一状态。请注意,由于所述控制器仅仅使用所述最后写入指令,故图4所示的八个曲线中的至少一部分并未彼此分离。因此,所述控制器往往无法依据所述临界值{AR,BR,CR,DR,ER,FR,GR}来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的哪一状态,也因此无法取得储存于所述记忆细胞中的全部位的数据。

图5绘示图2所示的方法200在一实施例中所涉及的控制方案。依据本实施例,所述控制器仅仅使用所述最后写入指令。此状况下,所述控制器利用所述最后写入指令控制所述特定区块中的所述记忆细胞只能处于所述多个可程序化状态中的所述部分中的一状态,诸如图5所示的三个曲线所代表的三个可程序化状态中的任一状态。请注意,依据所述记忆细胞中的所有位(在本实施例中是三个位)和所述多个可程序化状态(在本实施例中是八个可程序化状态)之间的预定关系,所述控制器可通过利用所述组数据中的所述预定型样控制所述特定区块中的所述记忆细胞只能对应于所述多个可程序化状态中的所述部分中的一状态,诸如图5所示的三个曲线所代表的三个可程序化状态中的任一状态,使得图5当中全部有使用到的可程序化状态的曲线均彼此分离。因此,所述控制器可以依据所述临界值{AR,BR,CR,DR,ER,FR,GR}中的至少一部分来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的所述部分中的哪一状态,也因此得以取得储存于所述记忆细胞中的全部位的数据(在本实施例中是三个位的数据)。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1