创建目标存储布局表的方法以及电子装置的制作方法

文档序号:6423793阅读:136来源:国知局

专利名称::创建目标存储布局表的方法以及电子装置的制作方法
技术领域
:本发明是关于存储装置(如闪存)的存储空间的分割,特别有关于一种创建目标存储布局表(targetstoragelayouttable)的方法以及相关电子装置,其中目标存储布局表作为分割存储装置的存储空间的参考。
背景技术
:目前,手持装置越来越受欢迎。大多数手持装置具有价格低、体积小、运算容量高以及功能强的特点。因此需要一款嵌入式操作系统。举例来说,基于Linux的嵌入式操作系统没有独占性问题、轻便易携带且相对容易实作。基于Linux的嵌入式系统通常为无磁盘(diskless)系统,为了维持系统中的永久数据,业界通常采用闪存装置作为磁盘系统。通常来说,存储装置可被分割为多个分区以便于存储装置的使用。以基于Linux的嵌入式系统为例,内存技术设备(MemoryTechnologyDevice,MTD)子系统为原始闪存装置(rawflashdevice)提供虚拟层,使其可以在与不同闪存类型和技术的闪存装置协同工作时使用相同的应用程序接口。基于Linux的嵌入式系统内部分配有一个闪存布局表,藉由参考该闪存布局表,将使用的闪存装置(如NAND闪存)分割为多个分区,用于不同的内存技术设备。然而,在制造过程中可能有坏区块散布于闪存装置四周。举例来说,有80个坏区块可能散布在闪存装置的任何位置。但是制造完成投放市场之后,没有任何信息指示这些坏区块在闪存装置中的确切位置。传统的分割策略在定义闪存装置的各分区时必须考虑到最坏的情形。请参考图1,图1显示了传统闪存布局表100的示意图。系统最初要求的分区PA、PB、PC、PD分别具有Size_A、Size_B、Size_C、Size_D的大小。如前所述,在闪存装置中存在坏区块,并且其确切位置未知。因此传统的分割策略在每一实际使用的分区中包含了保留区域,从而使得分区的范围较大一些。如图1所示,每一保留区域RSV_A、RSV_B、RSV_(、1¥_0具有相同的大小Size_R,对应于闪存装置周围坏区块的预估最大数目。举例来说,每一保留区域RSV_A、RSV_B、RSV_C、RSV_D包含至少80个区块。因此,闪存布局表100定义了四个分区PA,、PB,、PC,、PD,,分别具有Size_A+Size_R、Size_B+Size_R、Size_C+Size_R、Size_D+Size_R的实际大小。额外的保留区域分配到分区PA,-PD’之后,剩余Size_R’大小的存储区域可作为闪存装置的空闲保留区域RSV_R,用于如数据缓存等其他用途。实际上,对应于分区?々’、?8’、?(’、?0,的那些实际存储区域的一部分可能有许多坏区块,剩余的部分可能没有坏区块。对于对应某一分区的一个完全没有坏区块的实际存储区域来说,保留区域中所包含的区块不会被使用,这就导致闪存装置存储空间的浪费。此外,由于分区PA’-PD'包含有保留区域RSV_A-RSV_D,而闪存装置的存储容量有限,因此用于其他用途的空闲保留区域RSV_R空间很小。这就导致采用图1所示的传统闪存布局表100进行初始化的闪存装置在空闲保留区域RSV_R的使用上缺少灵活性。最坏的情况是,采用传统分割策略分割的闪存装置可能没有保留存储区域用来作为前述空闲保留区域RSV_R0对于使用存储空间较小的存储装置的某些应用来说,采用传统分割策略是不实际的。
发明内容为了解决上述问题,本发明的实施例提供一种创建目标存储布局表的方法、一种电子装置与一种分割存储装置的存储空间的方法,其中目标存储布局表作为分割存储装置的存储空间的参考。本发明的第一实施例提供一种创建目标存储布局表的方法,目标存储布局表作为分割存储装置的存储空间的参考。该方法包含识别存储装置的存储空间的多个缺陷存储区域,并据以产生识别结果;以及依据识别结果创建目标存储布局表。本发明的第二实施例提供一种电子装置,该电子装置包含处理器、存储装置以及机器可读介质。机器可读介质存储有程序代码,处理器执行程序代码以识别存储装置的存储空间的多个缺陷存储区域,据以产生识别结果,并依据识别结果创建目标存储布局表,目标存储布局表作为分割存储装置的存储空间的参考。本发明的第三实施例提供一种分割存储装置的存储空间的方法,包含有识别存储装置的存储空间的多个缺陷存储区域,并据以产生识别结果;以及依据识别结果分割存储装置的存储空间。与现有技术相比较,依据本发明创建的目标存储布局表具有更大的空闲保留区域,存储装置在空闲保留区域的利用上具有更好的灵活性,并且减少了存储空间的浪费。图1显示了传统闪存布局表的示意图。图2显示依据本发明实施例创建目标存储布局表的方法流程图。图3显示依据本发明实施例的电子装置的方框图。图4为闪存装置中一个区块的示意图。图5为依据本发明实施例的预定存储布局表的示意图。图6为散布在图3所示存储装置的缺陷存储区域的示意图。图7为依据本发明实施例的目标存储布局表的示意图。具体实施例方式在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同一个元件。本说明书及后续的权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的“包含”为开放式的用语,应解释成“包含但不限定于”。以下描述为实施本发明的最佳实施例,此描述用以展示本发明的基本原理,并非用以限制本发明,本发明的范围需要参考相关的权利要求来确定。本发明的主要概念是识别存储装置的存储空间中的缺陷存储区域,并据以产生识别结果,然后依据识别结果创建目标存储布局表。请参照图2,图2显示依据本发明实施例创建目标存储布局表的方法流程图,此目标存储布局表是用来作为分割存储装置的存储空间的参考。请注意本发明的方法不必严格遵循图2所示的步骤顺序也可达到同样的目的。图2的方法包含以下步骤步骤200:开始。步骤202检查存储装置的预定存储布局表是否有变化。若是,执行步骤206,若否,执行步骤204。步骤204检查存储装置是否第一次初始化。若是,执行步骤206,若否,执行步骤216。步骤206识别存储装置的存储空间中的缺陷存储区域并据以产生识别结果。步骤208参照识别结果,检查对应于具有预定存储布局表所定义的预定分区大小的预定分区的实际存储区域是否包含一或多个缺陷区域。若是,执行步骤212,若否,执行步骤210。步骤210依据预定分区大小设定创建的目标存储布局表所定义的预定分区的分区大小。然后执行步骤214。步骤212依据预定分区大小与缺陷区域的总体大小设定目标存储布局表所定义的预定分区的分区大小。步骤214检查创建的目标存储布局表是否包含了对应于具有预定存储布局表所定义的预定分区大小的全部预定分区的分区。若是,执行步骤216,若否,返回步骤208处理另一预定分区。步骤216:结束。图2所示的方法可应用于使用基于Linux的嵌入式系统或其他计算器系统的电子装置。请参考图3,图3显示依据本发明实施例的电子装置的方框图。电子装置300包含,但不限定于,处理器302,存储装置304以及机器可读介质306。机器可读介质306存储有程序代码PR0G,处理器执行图2所示的步骤来执行程序代码PR0G。亦即,处理器302执行图2所示的步骤来创建所需的目标存储布局表。举例来说,机器可读介质306可为只读型内存或能够提供程序代码PROG给处理器302的其他数据载体。一实施例中,用来作为分割存储装置304的存储空间的参考的目标存储布局表TB2响应于预定存储布局表TBl的变化或存储装置304的第一次初始化而被创建。换言之,当预定存储布局表TBl由于中间件或程序升级而被修改时,处理器302执行创建目标存储布局表TB2的步骤来执行从机器可读介质306下载的程序代码PROG(步骤20。此外,当存储装置304第一次被初始化(如系统手持启动)时,处理器302执行创建目标存储布局表TB2的步骤来执行从机器可读介质306下载的程序代码PROG(步骤204)。也就是说,创建目标存储布局表TB2的步骤响应于存储装置304的第一次初始化而执行,不会响应于后续初始化而执行。请注意,步骤202和204的执行顺序可以调整。举例来说,另一实施例中,步骤204先于步骤202执行。当预定存储布局表TBl被修改或存储装置304第一次初始化时,处理器302执行程序代码PROG对存储装置304的全部存储空间进行扫描,以识别缺陷存储区域。一实施例中,只有属于具有预定存储布局表所定义的预定分区大小的预定分区的存储区域被扫描以进行缺陷存储区域识别。然而,另一实施例中,存储装置304的全部存储区域都被扫描进行缺陷存储区域识别。举例来说,存储装置304可为闪存装置,如NAND闪存,但不限定于此。因此,存储装置304包含有多个区块,每一区块由多个页面组成,要被识别的每一缺陷存储区域为一坏区块。图4为闪存装置中一个区块的示意图。如图所示,区块400包含多个页面f^ge_l,Page_2,...,Page_N。在投入市场之前,闪存装置被程序化或进行擦除以使闪存装置中的每一比特存储预定逻辑值(如逻辑1)。当存储装置304第一次初始化时,意味着存储装置中的内容尚未被修改。处理器302可通过检查第一页面I^geJ的最末字节402_1,第二页面Page_2的最末字节402_2以及最末页面I^age—N的最末字节402_N来决定区块400是否为坏区块。举例来说,当检查到至少一最末字节402_1,402_2,402_2不是预定逻辑值时,处理器302可判定区块400为坏区块,反之将其视为好区块。以上描述仅用来阐释本发明的目的,而非用于限制本发明。亦即,任何能够识别存储装置304的缺陷存储区域的方法均可用来产生创建目标存储布局表TB2所需的识别结果。图5为依据本发明实施例的预定存储布局表TBl的示意图。如图所示,预定存储布局表TBl依照系统要求包含预定分区PA、PB、PC、PD,其分别具有预定分区大小Size_A、Size_B>Size_C、Size_D。此外,具有Size_E大小的剩余存储区域作为空闲保留区域RSV,用于如数据缓存等其他用途。如果存储装置304不包含缺陷存储区域,创建的目标存储布局表TB2可能与预定存储布局表TBl相同。然而,如果存储装置304包含缺陷存储区域,处理器302依据识别到的缺陷存储区域的确切位置选择性地调整目标从布局表TB2中预定分区PA、PB、PC、PD的实际分区大小。以下进行具体介绍。请一并参照图5、图6与图7。图6为散布在图3所示存储装置304的缺陷存储区域的示意图,图7为依据本发明实施例的目标存储布局表TB2的示意图。如图6所示,步骤206产生的识别结果指示存储装置304存在多个缺陷存储区域DS_1、DS_2、DS_3、DS_4,分别具有Size_A’、Size_B'、Size_C'、Size_D'的大小。举例来说,当存储装置304为闪存装置时,缺陷存储区域DS_1、DS_2、DS_3、DS_4的每一者可能包含一或多个坏区块。请注意,识别到的缺陷存储区域的数目以及大小仅用于说明本发明的目的,而非限制本发明。对于预定存储布局表TBl中具有预定分区大小Size_l的第一预定分区PA,处理器302通过参考识别结果检查其相应的实际存储区域(即图6中地址ADDR_0和ADDR_1所界定的实际存储区域)是否包含一或多个缺陷区域(步骤208)。如果地址ADDR_0和ADDR_1所界定的实际存储区域不包含缺陷区域,处理器302依据预定存储布局表TBl所定义的预定分区大小Size_A设定目标存储布局表TB2中预定分区PA的分区大小。举例来说,目标存储布局表TB2中预定分区PA具有与预定存储布局表TBl中相同的分区大小Size_A。如果地址ADDR_0和ADDR_1所界定的实际存储区域包含至少一缺陷区域DS_1,如图6所示,处理器302依据预定存储布局表TBl所定义的预定分区大小Size_A与缺陷区域的总体大小Size_A’来设定目标存储布局表TB2中预定分区PA的分区大小。举例来说,预定分区PA的分区大小藉由加总预定分区大小Size_A与缺陷区域的总体大小Size_A’来设定,如图7所示。以上仅用于说明本发明的用途,也就是说,预定分区PA的分区大小可依据由预定分区大小Size_A与缺陷区域的总体大小Size_A’所获得的任何计算结果来设定。这同样符合本发明的精神。由于目标存储布局表TB2中其他预定分区PB-PD的分区大小尚未决定,处理器302继续处理预定存储布局表TBl中另一预定分区(步骤214)。关于预定存储布局表TBl中具有预定分区大小第二预定分区PB,处理器302通过参考识别结果检查其相应的实际存储区域(即图6中地址ADDR_1’和ADDR_2所界定的实际存储区域)是否包含一或多个缺陷区域(步骤208)。如果地址ADDR_1^ADDR_2所界定的实际存储区域不包含缺陷区域,处理器302依据预定存储布局表TBl所定义的预定分区大小Size_B设定目标存储布局表TB2中预定分区PB的分区大小。举例来说,目标存储布局表TB2中预定分区PB具有与预定存储布局表TBl中相同的分区大小Size_B。如果地址ADDR_1,和ADDR_2所界定的实际存储区域包含至少一缺陷区域DS_2,如图6所示,处理器302依据预定存储布局表TBl所定义的预定分区大小Size_B与缺陷区域的总体大小Size_B’来设定目标存储布局表TB2中预定分区PB的分区大小。举例来说,预定分区PB的分区大小藉由加总预定分区大小Size_B与缺陷区域的总体大小Size_B’来设定,如图7所示。同样,以上仅用于说明本发明的用途,也就是说,预定分区PB的分区大小可依据由预定分区大小Size_B与缺陷区域的总体大小Size_B’所获得的任何计算结果来设定。阅读了以上说明之后,本领域技术人员当可了解如何设定目标存储布局表中剩余的预定分区PC与PD的分区大小,此处不再赘述。请注意,目标存储布局表中空闲保留区域RSV具有Size_E,的大小,Size_E,是从Size_E中减去Size_A’、Size_B’、Size_C’、Size_D’得到。与图1所示的传统闪存布局表100相比较,依据本发明创建的目标存储布局表TB2具有比RSV_R更大的空闲保留区域RSV0此外,目标存储布局表TB2中预定分区的分区大小是依据预定存储布局表中的预定分区大小,或依据缺陷存储区域对预定存储布局表TBl中预定分区大小进行调整来适当设定,所述缺陷存储区域是实际检测得到,而非估计的缺陷存储区域最大数目(如估计到的散布在闪存装置周围坏区块的最大数目)。藉由这种方式,采用图7所示目标存储布局表TB2初始化的存储装置在空闲保留区域RSV的利用上具有更好的灵活性,并且减少了存储装置存储空间的浪费。因此,电子装置300的整体效能也得到提升。请注意,本发明实施例所揭示的方法不仅限于创建闪存装置的闪存布局表。实际上该方法可适用于有分割存储空间需求的任何存储装置。此外,无论是否创建或参考目标存储布局表,任何藉由参考缺陷存储区域识别结果来分割存储装置的存储空间的应用均符合本发明的精神,落在本发明保护范围之内。从另一个角度来看,本发明也提供了一种分割存储装置的存储空间的方法,该方法识别存储装置的存储空间中的缺陷存储区域,据以产生识别结果,并依据识别结果来分割存储装置的存储空间。另一实施例中,依据识别结果分割存储装置的存储空间的步骤包括依据识别结果创建目标存储布局表,并依据目标存储布局表分割存储装置的存储空间。请注意,图2所示的流程图藉由检查预定存储布局表中全部预定分区来决定是否应当调整相应的预定分区大小,从而创建目标存储布局表。以上仅用于说明本发明的用途,不作为本发明的限制。另一实施例中创建目标存储布局表时,检查预定存储布局表中部分预定分区来决定是否应当依据缺陷存储区域的识别结果调整预定存储布局表中原始定义的相应预定分区大小,剩余的预定分区仍然设定与预定存储布局表中相同的预定分区大小。亦即,图2中步骤214是可选的,可依据实际设计考虑予以省略。所属
技术领域
的技术人员可轻易完成的均等改变或润饰均属于本发明所主张的范围,本发明的权利范围应以权利要求书所限定的范围为准。权利要求1.一种创建目标存储布局表的方法,该目标存储布局表作为分割存储装置的存储空间的参考,该创建目标存储布局表的方法包含识别该存储装置的存储空间的多个缺陷存储区域,并据以产生一识别结果;以及依据该识别结果创建该目标存储布局表。2.如权利要求1所述的创建目标存储布局表的方法,其特征在于,该存储装置为闪存装置,识别到的该多个缺陷存储区域的每一者为该闪存装置的一坏区块。3.如权利要求1所述的创建目标存储布局表的方法,其特征在于,依据该识别结果创建该目标存储布局表的该步骤包含当该识别结果指示,对应于具有预定分区大小的预定分区的实际存储区域包含至少一缺陷区域时,依据该预定分区大小与该至少一缺陷区域的总体大小设定该目标存储布局表所定义的该预定分区的分区大小。4.如权利要求3所述的创建目标存储布局表的方法,其特征在于,设定该目标存储布局表所定义的该预定分区的该分区大小的步骤包含藉由加总该预定分区大小与该至少一缺陷区域的该总体大小来设定该分区大小。5.如权利要求3所述的创建目标存储布局表的方法,其特征在于,更包含读取预定存储布局表,其中该预定分区以及该预定分区的该预定分区大小定义于该预定存储布局表。6.如权利要求5所述的创建目标存储布局表的方法,其特征在于,该方法响应于该预定存储布局表的变化而执行。7.如权利要求1所述的创建目标存储布局表的方法,其特征在于,依据该识别结果创建该目标存储布局表的该步骤包含当该识别结果指示,对应于具有预定分区大小的预定分区的实际存储区域不包含缺陷区域时,依据该预定分区大小设定该目标存储布局表所定义的该预定分区的分区大小。8.如权利要求1所述的创建目标存储布局表的方法,其特征在于,该方法响应于该存储装置的第一次初始化而执行,不会响应于该存储装置的后续初始化而执行。9.一种电子装置,包含有处理器;存储装置;以及机器可读介质,用于存储程序代码,其中该处理器执行该程序代码以识别该存储装置的存储空间的多个缺陷存储区域,据以产生识别结果,并依据该识别结果创建目标存储布局表,该目标存储布局表作为分割该存储装置的存储空间的参考。10.如权利要求9所述的电子装置,其特征在于,该存储装置为闪存装置,识别到的该多个缺陷存储区域的每一者为该闪存装置的一坏区块。11.如权利要求9所述的电子装置,其特征在于,依据该识别结果创建该目标存储布局表的步骤包含当该识别结果指示,对应于具有预定分区大小的预定分区的实际存储区域包含至少一缺陷区域时,依据该预定分区大小与该至少一缺陷区域的总体大小设定该目标存储布局表所定义的该预定分区的分区大小。12.如权利要求11所述的电子装置,其特征在于,设定该目标存储布局表所定义的该预定分区的该分区大小的步骤包含藉由加总该预定分区大小与该至少一缺陷区域的该总体大小来设定该分区大小。13.如权利要求11所述的电子装置,其特征在于,该处理器更用于执行该程序代码以读取预定存储布局表,其中该预定分区以及该预定分区的该预定分区大小定义于该预定存储布局表。14.如权利要求13所述的电子装置,其特征在于,该处理器响应于该预定存储布局表的变化而执行该程序代码。15.如权利要求9所述的电子装置,其特征在于,依据该识别结果创建该目标存储布局表的步骤包含当该识别结果指示,对应于具有预定分区大小的预定分区的实际存储区域不包含缺陷区域时,依据该预定分区大小设定该目标存储布局表所定义的该预定分区的分区大小。16.如权利要求9所述的电子装置,其特征在于,该处理器响应于该存储装置的第一次初始化而执行该程序代码,不会响应于该存储装置的后续初始化而执行该程序代码。17.一种分割存储装置的存储空间的方法,包含有识别该存储装置的存储空间的多个缺陷存储区域,并据以产生识别结果;以及依据该识别结果分割该存储装置的存储空间。18.如权利要求17所述的分割存储装置的存储空间的方法,其特征在于,依据该识别结果分割该存储装置的存储空间的步骤包含依据该识别结果创建目标存储布局表;以及依据该目标存储布局表分割该存储装置的存储空间。全文摘要本发明提供一种创建目标存储布局表的方法、一种电子装置以及一种分割存储装置的存储空间的方法,目标存储布局表作为分割存储装置的存储空间的参考。其中创建目标存储布局表的方法包含识别存储装置的存储空间的多个缺陷存储区域,并据以产生识别结果;以及依据识别结果创建目标存储布局表。依据本发明创建的目标存储布局表具有更大的空闲保留区域,存储装置在空闲保留区域的利用上具有更好的灵活性,并且减少了存储空间的浪费。文档编号G06F12/02GK102243612SQ20111011940公开日2011年11月16日申请日期2011年5月10日优先权日2010年5月12日发明者刘孟昌,谢丞宗申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1