将数据存入内存的方法

文档序号:6423463阅读:247来源:国知局
专利名称:将数据存入内存的方法
技术领域
本发明是有关于一种将数据存入内存的方法,特别是有关于一种将数据存入具有抹除单位(erasing unit)的内存的方法。
背景技术
近年来,随着无线通讯技术的发展,移动电话在人们的生活中扮演了重要的角色。 为了满足各种不同的需求,移动电话具有复杂的功能和结构。例如,手机可具有处理器和内存来运行操作系统(OS),以提供影音播放、电子邮件收发、网页浏览等功能。一般而言,移动电话所能提供的功能是与移动电话中的韧体有关。此韧体可例如为储存在移动电话内存中的韧体映像文件。当移动电话开机时,映像文件便会被加载,以使移动电话提供各种不同的功能。为了满足逐渐增加的各种需求,移动电话制造商通常需要频繁地更新移动电话的韧体。然而,更新韧体需要花费大量的时间,而移动电话的制造效率可能因此而降低。因此, 极需一种可快速更新韧体的方法。

发明内容
本发明的一方面是在提供一种将数据存入内存的方法,以借此来使写入映像文件至移动电话内存的速度更加快速。根据本发明的一实施例,在此将数据存入内存的方法中,首先提供欲写入至内存的数据,其中此数据包含多笔数据记录。接着,提供内存的一段内存空间来储存数据。然后, 进行数据写入步骤,以将数据写入内存。在数据写入步骤中,首先决定数据记录的数值是否皆为清除值(cleared value)(例如0x00或Oxff),以提供第一判断结果。接着,决定数据是否与内存的抹除单位(erasing unit)匹配,以提供第二判断结果,其中抹除单位为内存进行数据抹除操作的最小单位。然后,当第一判断结果和第二判断结果为是时,抹除内存的内存空间的内容,借此来完成数据写入步骤,以将数据写入内存中。根据本发明的另一实施例,在此将数据存入内存的方法中,首先提供欲写入至内存的数据,其中此数据包含多个数据片段,而每一数据片段包含多笔数据记录。接着,提供内存的一段内存空间来储存数据,其中此内存包含多个抹除单位,每一抹除单位为内存进行数据抹除操作的最小单位。此内存空间包含用以储存数据片段的多个内存区段,且每一内存区段的大小等于每一抹除单位的大小。然后,重复进行数据写入步骤,以将数据片段一对一地写入至内存区段中。在此数据写入步骤中,首先决定数据片段的一者的数据记录的数值是否皆为清除值,以提供第一判断结果。接着,决定此数据片段是否与内存的抹除单位的一者匹配,以提供第二判断结果。然后,当第一判断结果和第二判断结果为是时,抹除此数据片段所对应的内存区段的内容,借此来完成数据写入步骤,以将此数据片段的写入对应的内存区段。本发明实施例所提供的将数据存入内存的方法是利用内存的抹除操作来将具有清除值的数据写入至内存中,以借此来降低写入映像文件所需的时间。


为让本发明的上述和其它目的、特征、和优点能更明显易懂,上文特举数个较佳实施例,并配合所附附图,作详细说明如下图1是绘示根据本发明实施例的将数据存入内存的方法的流程示意图;图2是绘示根据本发明实施例的欲存入至移动电话内存的数据的部分结构示意图;图3是绘示根据本发明实施例的数据所欲存入的内存的部分结构示意图。主要组件符号说明100储存数据的方法110数据提供步骤110120内存提供步骤130数据写入步骤132数值比较步骤134特征比较步骤136抹除步骤137已知数据写入步骤138检查步骤139数据取得步骤200数据300内存MS1,...、M&:内存区段DSi、· · ·、D& 数据片段
具体实施例方式请参照图1至图3,图1是绘示根据本发明一实施例的将数据存入内存的方法100 的流程示意图,图2是绘示欲存入至移动电话内存的数据的部分结构示意图,图3是绘示数据所欲存入的内存的部分结构示意图。在本实施例中,此内存为闪存,而数据为映像文件 (image file),但本发明的实施例并不受限于此。另外,内存也可能用来储存映像文件数据以外的其它数据。在储存数据的方法100中,首先进行数据提供步骤110。数据提供步骤是提供如图2所示的数据200。数据200包含多笔数据记录(未绘示)。数据记录可为16进位码的形式,例如0x01,但本发明的实施例并不受限于此。在其它的实施例中,数据记录可为2进位、10进位或12进位码的形式。数据200包含多个数据片段DSpDS2,... D&。这些数据片段为连续的数据。这些数据片段是根据内存的抹除单位(erasing unit)的大小以及抹除单位的地址(以下是以区段数字来表示地址)来从数据200切割出来。例如,假设数据200(未被切割前)欲存入至内存的区段1100与区段9200间,且内存300 (如第3图所绘示)具有大小为IOM个区段的抹除单位。因此,在地址“区段0”与地址“区段1023”之间的内存空间为第一个抹除单位;在地址“区段1024”与地址“区段2047”之间的内存空间为第二个抹除单位;在地址“区段2048”与地址“区段3071”之间的内存空间为第三个抹除单位。在本例中,当数据 200被切割时,数据200会先根据抹除单位的地址(例如,第三个抹除单位的起始地址“区段2048”)来切割成两个部分。然后,以每IOM个区段为切割单位来从地址“区段2048” 开始切割数据200的两个部分。切割的结果如图2所示。抹除单位为内存进行数据抹除操作的最小单位。在本实施例中,抹除单位的大小为IOM个区段,而每一个区段的大小为512字节(byte),然而本发明的实施例并不受限于此。在本发明的其它实施例中,抹除单位的大小可为2048千字节(kilobytes)。在数据切割操作后,数据片段可包含有完整数据片段和残余数据片段。每一个完整数据片段,例如DS2、DS2, . . . DSlri,具有与抹除单位相等的大小,而每一个残余数据片段, 例如DS1与,其大小是小于抹除单位。残余数据片段为不与抹除单位匹配的数据片段。 例如,在上述的例子中,有多笔数据记录是对应至介于地址“区段1100”与“区段2047”间的内存空间,这些数据记录会从数据200中切割出来作为残余数据片段DS1,这是因为介于地址“区段1100”与“区段2047”间的内存空间并不与抹除单位匹配。类似地,在上述的例子中,亦有多笔数据记录是对应至介于地址“区段8192”与“区段9200”间的内存空间,这些数据记录会从数据200中切割出来作为残余数据片段1)&,这是因为介于地址“区段8192” 与“区段9200”间的内存空间并不与抹除单位匹配。根据以上的叙述,在数据200的切割操作中,内存抹除单位的一者的起始地址(例如,地址“区段0”、“区段1024”或“区段2048”)是与数据片段的一者对准,接着再根据抹除单位的大小和起始地址来切割。另外,在数据200的切割操作中,抹除单位的起始地址和结束地址皆可用来切割数据200。值得注意的是,可进行地址选择步骤来选择用来储存数据200的内存空间的起始地址,借此可将数据200的起始点对准至内存300的抹除单位的起始地址,以消除数据片段 DSl0例如,将数据200的起始点对准至地址“区段2048”,如此数据200的第一个数据片段可变成完成数据片段。在数据提供步骤110之后,接着进行内存提供步骤120,以提供内存300来储存数据200。如上所述,内存300具有多个抹除单元,因此用来储存数据200的内存空间被切割为多个内存区段,以一对一地储存数据200的数据片段。如图3所示,内存区段包含完整内存区段与残余内存区段。完整内存区段,如MS2, MS3,... MSlri,是用以储存完整数据片段DS2, DS3, . . . DSn^10残余内存区段,例如MS1与MSn,是用以储存残余数据片段DS1与D&。值得注意的是,数据提供步骤110可在内存提供步骤120后进行。例如,先将内存 300切割,接着再根据内存300来将数据200切割。在内存提供步骤120后,重复进行数据写入步骤130来将数据200的数据片段写入内存300中。在数据写入步骤130中,首先进行数值比较步骤132来决定一数据片段的所有数据记录的值是否皆为清除值(cleared value) 0例如,当数据片段DS1被写入至相应的内存区段MS1时,将数据片段DS1的所有数据记录的值是与清除值,例如0x00或OxfT (取决于内存的规格)比较。如果数据片段DS1的所有数据记录的值皆为0,则进行下一个步骤 134。在本发明的另一个实施例中,多个清除值的集合可用一数据内容来表示,例如ERASE_ CONTENT,其包含 0x00 或 Oxff。特征比较步骤134是用以决定数据片段是否与内存的抹除单位匹配。在本发明的一实施例中,特征比较步骤134可包含尺寸比较步骤,此尺寸比较步骤是用以决定数据片段的大小是否等于内存300的抹除单位的大小。当数据片段的大小等于内存300的抹除单位的大小时,即决定数据片段与抹除单位匹配。例如,数据片段DS1的大小不等于内存300 的抹除单位的大小,所以在特征比较步骤134中,数据片段DS1不被认为是与抹除单位匹配的数据片段。在另一个例子中,当写入数据片段至相应的内存区段时,数据片段DS2会被认为是与抹除单位匹配的数据片段,这是因为数据片段的大小等于抹除单元。在本发明的另一实施例中,特征比较步骤134可包含地址比较步骤。地址比较步骤是用以决定数据片段的相应内存区段的起始地址和结束地址是否分别与内存300的抹除单位的一者的起始地址和结束地址相同。当相应内存区段的起始地址和结束地址与内存 300的抹除单位的起始地址和结束地址相同时,即决定数据片段与抹除单元匹配。例如,内存区段MS的起始地址(区段1100)不等于内存300的任一抹除单位的起始地址,因此数据片段DS1不被认为是与抹除单位匹配的数据片段。在另一个例子中,当写入数据片段此2至相应的内存区段MS2时,数据片段会被认为是与抹除单位匹配的数据片段,这是因为内存区段起始地址和结束地址(“区段2048”与“区段3071”)等于抹除单位的一者的起始地址和结束地址。在本发明的又一实施例中,数据提供步骤110可包含标记步骤。标记步骤是用以将数据片段DS1和标上一注记。如此,此注记可于特征比较步骤134中用来决定数据片段是否与抹除单位匹配。例如,在标记步骤中,用来储存数据200的内存空间的起始地址和结束地址是分别与内存300的抹除单位的起始地址和结束地址进行比较。当用来储存数据200的内存空间的起始地址不等于任何一个抹除单位的起始地址时,则将数据200的第一个数据片段DS1S上注记,而当用来储存数据200的内存空间的结束地址不等于任何一个抹除单位的结束地址时,则将数据200的最后一个数据片段标上注记。如此,在步骤 134中,检查数据片段是否具有注记,并判断具有注记的数据片段为不与抹除单位匹配的数据片段。在步骤134之后,进行抹除步骤136,以于数据片段的数据记录的数值皆为清除值时以及数据片段与内存的抹除单位匹配时,抹除用来储存数据片段(例如数据片段DS2)的内存区段的内容,借此使得内存区段的内容变成清除值。然后,进行检查步骤138,以决定已处理的数据片段是否为最后一个数据片段。如果已处理的数据片段不是最后一个数据片段,则进行数据取得步骤139,以获得下一个数据片段(例如,数据片段DS2的下一个数据片段DS3),如此数据写入步骤130是重复进行来将接续的数据片段写入。相反地,当数据片段的数据记录中有一者的数值不为清除值时,或是当数据片段不与内存的抹除单位匹配时,则进行已知的数据写入步骤137,以将数据片段写入相应的内存区段中。对于内存的抹除操作来说,抹除储存在抹除单元中的内容比写入数值至抹除单元的内存空间的速度更快。另外,抹除单元的内容在经过抹除后会变成清除值。因此,如果欲储存的数据的数据记录皆为清除值时,可将用来储存此数据的抹除单元的内容抹除,借此来将数据写入置抹除单元中,并加速了数据的写入。值得注意的是,上述的步骤132和134可一起进行或依序进行。另外,如果在数
据片段DSpDS2.....被写入至内存之前,已知数据片段DS1J^.....的数据记录为
清除值,则数值比较步骤134可被忽略,然后在抹除步骤136中,将对应储存数据片段DS2、 DS3. . .、DSlri的内存区段的内容抹除。根据上述的实施例,当想要写入的数据(或数据片段)的数据记录值全为清除值时,用来储存此数据的内存的内容可被抹除,借此来减少写入数据所需的时间。对于映像文件数据而言,其可能具有一大段具有清除值的数据记录。因此,本发明实施例所揭露的方法可大幅降低写入映像文件所需的时间。 虽然本发明已以数个实施例揭露如上,然其并非用以限定本发明,在本发明所属技术领域中任何具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。
权利要求
1.一种将数据存入内存的方法,其特征在于,包含提供欲写入至该内存的该数据,其中该数据包含多笔数据记录; 提供该内存的一内存空间来储存该数据;以及进行一数据写入步骤,以将该数据写入该内存,其中该数据写入步骤包含 决定该些数据记录的数值是否皆为清除值,以提供一第一判断结果; 决定该数据是否与该内存的一抹除单位匹配,以提供一第二判断结果,其中该抹除单位为该内存进行一数据抹除操作的最小单位;以及当该第一判断结果和该第二判断结果为是时,抹除该内存的该内存空间的内容,借此来完成该数据写入步骤,以将该数据写入该内存。
2.根据权利要求1所述的将数据存入内存的方法,其特征在于,决定该数据是否与该内存的该抹除单位匹配的该步骤包含决定该内存空间的一起始地址和一结束地址是否分别等于该抹除单位的一起始地址和一结束地址,以提供一第三判断结果;以及当该第三判断结果为是时,将该第二判断结果定义为是。
3.根据权利要求1所述的将数据存入内存的方法,其特征在于,决定该数据是否与该内存的该抹除单位匹配的该步骤包含决定该数据的大小是否于等于该抹除单位的大小;以及当该数据的大小是等于该抹除单位的大小时,将该第二判断结果定义为是。
4.根据权利要求1所述的将数据存入内存的方法,其特征在于,该数据为映像文件。
5.一种将数据存入内存的方法,其特征在于,该内存包含多个抹除单位,而每一该些抹除单位为该内存进行一数据抹除操作的最小单位,将数据存入内存的该方法包含提供欲写入至该内存的该数据,其中该数据包含多个数据片段,而每一该些数据片段包含多笔数据记录;提供该内存的一内存空间来储存该数据,其中该内存空间包含用以储存该些数据片段的多个内存区段,且每一该些内存区段的大小等于每一该些抹除单位的大小;以及重复进行一数据写入步骤,以将该些数据片段一对一地写入至该些内存区段中,其中该数据写入步骤包含决定该些数据片段的一者的该些数据记录的数值是否皆为清除值,以提供一第一判断结果;决定该些数据片段的该者是否与该内存的该些抹除单位的一者匹配,以提供一第二判断结果;以及当该第一判断结果和该第二判断结果为是时,抹除该些数据片段的该者所对应的该些内存区段的一者的内容,借此来完成该数据写入步骤,以将该些数据片段的该者写入该内存区段的该者。
6.根据权利要求5所述的将数据存入内存的方法,其特征在于,提供该数据的步骤包含根据每一该些抹除单位的大小以及该些抹除单位的一者的地址来切割该数据。
7.根据权利要求6所述的将数据存入内存的方法,其特征在于,提供该数据的步骤还包含决定该内存空间的一起始地址是否等于该些抹除单位的多个起始地址的一者,以提供一第三判断结果;当该第三判断结果为否时,将该些数据片段中的第一个数据片段标上一注记;决定该内存空间的一结束地址是否等于该些抹除单位的多个结束地址的一者,以提供一第四判断结果;以及当该第四判断结果为否时,将该些数据片段中的最后一个数据片段标上该注记。
8.根据权利要求7所述的将数据存入内存的方法,其特征在于,决定该些数据片段的该者是否与该内存的该些抹除单位的一者匹配的该步骤包含检查该些数据片段的该者是否具有该注记;以及当该些数据片段的该者具有该注记时,将该第二判断结果定义为否。
9.根据权利要求5所述的将数据存入内存的方法,其特征在于,决定该些数据片段的该者是否与该内存的该些抹除单位的一者匹配的该步骤包含决定该些数据片段的该者的大小是否等于每一该些抹除单位的大小;以及当该些数据片段的该者的大小等于每一该些抹除单位的大小时,定义该第二判断结果为是。
10.根据权利要求5所述的将数据存入内存的方法,其特征在于,决定该些数据片段的该者是否与该内存的该些抹除单位的一者匹配的该步骤包含决定该些内存区段的该者的一起始地址和一结束地址是否分别等于该些抹除单位的一者的一起始地址和一结束地址;以及当些内存区段的该者的该起始地址和该结束地址分别等于该些抹除单位的一者的一起始地址和一结束地址时,该第二判断结果为是。
全文摘要
本发明揭露了一种将数据存入内存的方法。在此方法中,首先提供欲写入至内存的数据,其中此数据包含多笔数据记录。然后,提供内存的内存空间来储存数据。接着,进行数据写入步骤,以将数据写入内存中。在此数据写入步骤中,首先决定数据记录的数值是否皆为清除值(cleared value),以提供第一判断结果。接着,决定数据是否与内存的抹除单位(erasing unit)匹配,以提供第二判断结果,其中此抹除单位为内存进行一数据抹除操作的最小单位。然后,当第一判断结果和第二判断结果为是时,抹除内存空间的内容,借此来完成数据写入步骤,以将数据写入内存中。
文档编号G06F12/08GK102236605SQ201110112468
公开日2011年11月9日 申请日期2011年4月26日 优先权日2010年4月26日
发明者冼召中 申请人:宏达国际电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1