CN100442246C - 非易失性存储器的数据更新方法 - Google Patents
非易失性存储器的数据更新方法 Download PDFInfo
- Publication number
- CN100442246C CN100442246C CNB2004100573828A CN200410057382A CN100442246C CN 100442246 C CN100442246 C CN 100442246C CN B2004100573828 A CNB2004100573828 A CN B2004100573828A CN 200410057382 A CN200410057382 A CN 200410057382A CN 100442246 C CN100442246 C CN 100442246C
- Authority
- CN
- China
- Prior art keywords
- data
- address
- write
- last time
- update
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明是关于一种非易失性存储器的数据更新方法,是假设在大部分情况下,欲写入的数据均为连续,因此,在接收欲更新数据的数据封包时,先行检查数据封包的写入地址是否位于前次数据更新的同一存储区块,以判断是否需复制回写未更新的数据,故可节省不必要的复制回写,而可大幅增进数据更新的效能。
Description
技术领域
本发明涉及一种数据更新方法,特别是涉及一种非易失性存储器的数据更新方法。
背景技术
在各种不同的储存媒体中,由于随身碟(pen drive)的体积小、容量大、携带及使用便利等特性,使得随身碟的使用日益普及。一般而言,随身碟是使用例如是闪存的非易失性存储器来作为储存数据的元件,闪存通常包含多个存储区块(block),而每一存储区块又包含多个存储页(page)。当欲将数据写入已储存数据的闪存时,必须先行抹除整个存储区块的数据,才可将欲更新的数据写入,因此,一般的作法是将欲更新的数据写入没有储存数据的一存储区块,并将储存在原存储区块中没有更新的数据复制回写(copy back)至新写入的存储区块,然后再更新用以指示实际地址与逻辑地址的相互对应的地址对应表,以将实际地址对应至新写入的存储区块。
请参阅图1所示,为现有习知的随身碟的数据更新方法流程示意图。图中显示,在S110步骤中,随身碟接收到欲更新的数据封包,此时,如S120步骤所示地,会将欲更新的数据写入没有储存数据的一存储区块,并将储存在原存储区块中没有更新的数据复制回写至新写入的存储区块,然后,如S130步骤所示地,更新地址对应表,以将实际存取地址对应至新写入的存储区块。明显地,此种作法每一次均需将未更新的数据复制回写至新写入的存储区块,导致数据更新效能的低落。
由此可见,上述现有的非易失性存储器的数据更新方法显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决非易失性存储器的数据更新方法存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般更新方法又没有适切的方法能够解决上述问题,此显然是相关业者急欲解决的问题。
有鉴于上述现有的非易失性存储器的数据更新方法存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的非易失性存储器的数据更新方法,能够改进一般现有的非易失性存储器的数据更新方法,使其更具有实用性。经过不断的研究、设计,并经反复试作及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的非易失性存储器的数据更新方法存在的缺陷,而提供一种新的非易失性存储器的数据更新方法,所要解决的技术问题是使其可于接收欲更新数据的数据封包时,先行检查数据封包的写入地址,以判断是否需复制回写未更新的数据,故可增进数据更新的效能,从而更加适于实用。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种非易失性存储器的数据更新方法,适用于更新一非易失性循序写入式存储器的数据,其包括以下步骤:接收欲更新数据的一数据封包;以及检查该数据封包的一写入地址是否位于前次数据更新所写入的该非易失性存储器的同一存储区块,且该写入地址是否位于前次数据更新地址之后并与前次数据更新地址连续。其中,当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之后并与前次数据更新地址连续时,则直接写入该数据封包的数据;当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之后,但与前次数据更新的地址不连续时,先将不连续的地址的数据复制回写至前次数据更新时数据写入的存储区块后,再直接写入该数据封包的数据;当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之前时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块;以及当该写入地址位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块。
前述的非易失性存储器的数据更新方法,更包括以下步骤:在该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的数据复制回写至前次数据更新时数据写入的存储区块,并更新地址对应表。
本发明的目的及解决其技术问题还采用以下的技术方案来实现。依据本发明提出的一种非易失性随机写入式存储器的数据更新方法,适用于更新一非易失性存储器的数据,其包括以下步骤:接收欲更新数据的一数据封包;以及检查该数据封包的一写入地址是否位于前次数据更新所写入的该非易失性存储器的同一存储区块,且该写入地址是位于尚未更新数据的地址。其中,当该写入地址位于前次数据更新的同一存储区块,且位于尚未更新数据的地址时,将该数据封包的数据直接写入该写入地址;当该写入地址位于前次数据更新的同一存储区块,但非位于尚未更新数据的地址时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块;以及当该写入地址位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块。
前述的非易失性存储器的数据更新方法,更包括以下步骤:在该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的数据复制回写至前次数据更新时数据写入的存储区块,并更新地址对应表。
本发明与现有技术相比具有明显的优点和有益效果。由以上技术方案可知,为了达到前述发明目的,本发明的主要技术内容如下:
本发明提出的一种非易失性存储器的数据更新方法,可适用于更新一非易失性循序写入式存储器的数据。此方法包括下列步骤:接收欲更新数据的数据封包;检查所接收数据封包的写入地址是否位于前次数据更新时所写入的非易失性存储器的同一存储区块,且其写入地址是否位于前次数据更新之后并与前次数据更新地址连续。
其中,当写入地址是位于前次数据更新的同一存储区块,且位于前次数据更新地址之后并与前次数据更新地址连续时,则直接写入所接收数据封包的数据;当写入地址是位于前次数据更新的同一存储区块,且位于前次数据更新之后,但与前次数据更新的地址不连续时,则先将不连续的地址中的数据复制回写至前次数据实际写入的存储区块的对应地址后,再直接写入所接收数据封包的数据;当写入地址是位于前次数据更新的同一存储区块,且位于前次数据更新之前时,先将未更新的数据复制回写至前次数据实际写入的存储区块的对应地址并更新地址对应表后,再将所接收数据封包的数据写入另一存储区块;当写入地址是位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据实际写入的存储区块的对应地址并更新地址对应表后,再将所接收数据封包的数据写入另一存储区块;当该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的数据复制回写至前次数据实际写入的存储区块的对应地址,并更新地址对应表,以避免使用非易失性存储器的随身碟离线时,丧失已更新的数据。
本发明另提供一种非易失性存储器的数据更新方法,可适用于更新一非易失性随机写入式存储器的数据。此方法包括下列步骤:接收欲更新数据的数据封包;检查所接收数据封包的写入地址是否位于前次数据更新时所写入的非易失性存储器的同一存储区块,且是位于同一存储区块中尚未更新数据的地址。
其中,当写入地址位于前次数据更新的同一存储区块中尚未更新数据的地址时,则直接写入所接收数据封包的数据;当写入地址位于前次数据更新的同一存储区块,但位于已更新数据的地址时,则先将未更新的数据复制回写至前次数据实际写入的存储区块并更新地址对应表后,再将所接收数据封包的数据写入另一存储区块;当写入地址位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据实际写入的存储区块并更新地址对应表后,再将所接收数据封包的数据写入另一存储区块;当该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的地址数据复制回写至前次数据实际写入的存储区块的对应地址,并更新地址对应表,以避免使用非易失性存储器的随身碟离线时,丧失已更新的数据。
经由上述可知,本发明是关于一种非易失性存储器的数据更新方法,是假设在大部分情况下,欲写入的数据均为连续,因此,在接收欲更新数据的数据封包时,先行检查数据封包的写入地址是否位于前次数据更新的同一存储区块,以判断是否需复制回写未更新的数据,故可节省不必要的复制回写,而可大幅增进数据更新的效能。
借由上述技术方案,本发明非易失性存储器的数据更新方法至少具有下列优点:
本发明所提供的一种非易失性存储器的数据更新方法,可于接收欲更新数据的数据封包时,先行检查数据封包的写入地址,以判断是否需复制回写未更新的数据。此种作法在大部分写入数据均为连续的情况下,即可直接写入数据封包的数据,故可大幅增进数据更新的效能。
综上所述,本发明特殊的非易失性存储器的数据更新方法,可于接收欲更新数据的数据封包时,先行检查数据封包的写入地址,以判断是否需复制回写未更新的数据,故可增进数据更新的效能。其具有上述诸多的优点及实用价值,并在同类方法中未见有类似的设计公开发表或使用而确属创新,其不论在更新方法上或功能上皆有较大的改进,在技术上有较大的进步,并产生了好用及实用的效果,且较现有的非易失性存储器的数据更新方法具有增进的多项功效,从而更加适于实用,而具有产业的广泛利用价值,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并为了让本发明的上述和其他目的、特征和优点能更明显易懂,以下特举一较佳实施例,并配合附图,详细说明如下。
附图说明
图1是现有习知的随身碟的数据更新方法流程示意图。
图2是本发明较佳实施例的一种非易失性存储器的数据更新方法流程示意图。
S110~S290:流程步骤
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的非易失性存储器的数据更新方法其具体实施方式、方法、步骤、特征及其功效,详细说明如后。
图2是本发明较佳实施例的非易失性存储器的数据更新方法流程示意图。以下请参阅图2所示,并配合随身碟中使用的K9F1G闪存来详细说明其工作原理。K9F1G闪存的存储区块(block)大小为128K位元组,而每一存储页(page)的大小为2K位元组,故每一存储区块共包括64个存储页。以下的说明中并假设随身碟接收的数据封包(packet)大小是以存储页为单位,例如是N个存储页。
在图2所示的步骤S210中,随身碟接收到欲更新的数据封包,于是进入S220步骤以判断欲更新的数据封包的写入地址是否位于前次数据更新的同一存储区块。当判断结果为写入地址并非位于前次数据更新的同一存储区块时,才进入步骤S280,以复制回写(copy back)前次数据更新的存储区块中未被更新的数据,确保存储区块数据的完整性,并至步骤S290更新地址对应表,也就是更新用以指示实际地址与逻辑地址的相互对应的地址对应表,以将实际地址对应至新写入完整数据的存储区块后,才将原有存储区块的数据抹除。之后并进入步骤S260,选择已抹除的一存储区块,以将所接收的数据封包的数据写入。
例如,当前次接收的数据封包为欲更新第1存储区块,且在前次数据更新时,是将数据写入已抹除的第11存储区块,而此次接收的数据封包欲更新第2存储区块时,则需将第1存储区块中尚未更新的数据复制回写至第11存储区块,并将原指向第1存储区块的逻辑地址改对应至第11存储区块后,才将第1存储区块的数据抹除,以供后续使用。之后,并选择已抹除的一存储区块,例如是第12存储区块,以将所接收的数据封包的数据写入。
在S220步骤中,当判断所接收的数据封包的写入地址是位于前次数据更新的同一存储区块时,便进入S230步骤,以判断写入地址是否位于前次数据更新地址之后。当判断结果为位于前次数据更新地址之前时,则如S280和S290步骤,先将未更新的数据复制回写并更新地址对应表后,再至步骤S260,以将所接收数据封包的数据写入另一存储区块。
例如,当前次接收的数据封包为欲更新第1存储区块的第1至10存储页,且在前次数据更新时,是将数据写入已抹除的第11存储区块,而此次接收的数据封包欲更新第1存储区块的第1至5存储页时,则需将第1存储区块中尚未更新的第11至64存储页的数据复制回写至第11存储区块,并将原指向第1存储区块的逻辑地址改对应至第11存储区块后,才将第1存储区块的数据抹除,以供后续使用。之后,并选择已抹除的一存储区块,例如是第12存储区块,以将所接收的数据封包的数据写入第1至5存储页。当然,如熟习此艺者所知,S230步骤的判断只有在随身碟是使用必须循序写入的闪存时,才会需要。如随身碟是使用可随意写入的闪存时,则只需判断写入地址是否位于尚未更新数据的地址即可。
在S230步骤中,当判断所接收的数据封包的写入地址是位于前次数据更新之后时,便进入S240步骤,以判断写入地址是否位于前次数据更新之后。当判断结果为位于前次数据更新之后时,则至S260步骤,以写入所接收数据封包的数据。而当判断结果为与前次数据更新的地址不连续时,则至S250步骤,以复制回写不连续的数据后,再至S260步骤,以写入所接收数据封包的数据。
例如,当前次接收的数据封包为欲更新第1存储区块的第1至10存储页,且在前次数据更新时,是将数据写入已抹除的第11存储区块,而此次接收的数据封包欲更新第1存储区块的第11至15存储页时,则可直接将数据写入第11存储区块的第11至15存储页。另如此次接收的数据封包欲更新第1存储区块的第16至20存储页时,则需将第1存储区块中的第11至15存储页的数据复制回写至第11存储区块后,才将数据写入第11存储区块的第16至20存储页。当然,如熟习此艺者所知,S240与S250步骤的判断只有在随身碟是使用必须循序写入的闪存时,才会需要。如随身碟是使用可随意写入的闪存时,则S240与S250步骤可以省略。
此外,为了避免在未更新的数据尚未复制回写时,使用者将随身碟离线,以致丧失已更新的数据的情况,故另加入S270的步骤,以当在一预设时间内没有接收到下一数据封包时,可如S273与S275步骤,先行将未更新的地址数据复制回写,并更新地址对应表,来确保数据的一致性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (4)
1、一种非易失性存储器的数据更新方法,适用于更新一非易失性循序写入式存储器的数据,特征在于其包括以下步骤:
接收欲更新数据的一数据封包;以及
检查该数据封包的一写入地址是否位于前次数据更新所写入的该非易失性存储器的同一存储区块,且该写入地址是否位于前次数据更新地址之后并与前次数据更新地址连续;
其特征在于,当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之后并与前次数据更新地址连续时,则直接写入该数据封包的数据;
当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之后,但与前次数据更新的地址不连续时,先将不连续的地址的数据复制回写至前次数据更新时数据写入的存储区块后,再直接写入该数据封包的数据;
当该写入地址位于前次数据更新的同一存储区块,且位于前次数据更新地址之前时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块;以及
当该写入地址位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块。
2、根据权利要求1所述的非易失性存储器的数据更新方法,其特征在于更包括以下步骤:
在该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的数据复制回写至前次数据更新时数据写入的存储区块,并更新地址对应表。
3、一种数据更新方法,适用于更新一非易失性随机写入式存储器的数据,特征在于其包括以下步骤:
接收欲更新数据的一数据封包;以及
检查该数据封包的一写入地址是否位于前次数据更新所写入的该非易失性存储器的同一存储区块,且该写入地址是否位于尚未更新数据的地址;
其特征在于,当该写入地址位于前次数据更新的同一存储区块,且位于尚未更新数据的地址时,将该数据封包的数据直接写入该写入地址;
当该写入地址位于前次数据更新的同一存储区块,但非位于尚未更新数据的地址时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块;以及
当该写入地址位于前次数据更新的不同存储区块时,先将未更新的数据复制回写至前次数据更新时数据写入的存储区块并更新地址对应表后,再将该数据封包的数据写入另一存储区块。
4、根据权利要求3所述的数据更新方法,其特征在于更包括以下步骤:
在该数据封包写入完成后一预设时间内没有接收到下一数据封包时,则将未更新的数据复制回写至前次数据更新时数据写入的存储区块,并更新地址对应表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100573828A CN100442246C (zh) | 2004-08-26 | 2004-08-26 | 非易失性存储器的数据更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100573828A CN100442246C (zh) | 2004-08-26 | 2004-08-26 | 非易失性存储器的数据更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741195A CN1741195A (zh) | 2006-03-01 |
CN100442246C true CN100442246C (zh) | 2008-12-10 |
Family
ID=36093521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100573828A Expired - Fee Related CN100442246C (zh) | 2004-08-26 | 2004-08-26 | 非易失性存储器的数据更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100442246C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566969B (zh) * | 2008-04-21 | 2011-05-18 | 群联电子股份有限公司 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
CN101630233B (zh) * | 2008-07-17 | 2012-07-11 | 群联电子股份有限公司 | 用于闪存的数据存取方法、储存系统与控制器 |
CN101650972B (zh) * | 2009-06-12 | 2013-05-29 | 东信和平科技股份有限公司 | 智能卡的非易失性存储器数据更新方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1258046A (zh) * | 1998-12-14 | 2000-06-28 | 三菱电机半导体系统株式会社 | 一并擦除型非易失性存储器和快速存储器的的控制方法 |
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
WO2004001604A1 (de) * | 2002-06-19 | 2003-12-31 | Hyperstone Ag | Verfahren zum adressieren von blockweise löschbaren speichern |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
-
2004
- 2004-08-26 CN CNB2004100573828A patent/CN100442246C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1258046A (zh) * | 1998-12-14 | 2000-06-28 | 三菱电机半导体系统株式会社 | 一并擦除型非易失性存储器和快速存储器的的控制方法 |
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
WO2004001604A1 (de) * | 2002-06-19 | 2003-12-31 | Hyperstone Ag | Verfahren zum adressieren von blockweise löschbaren speichern |
Also Published As
Publication number | Publication date |
---|---|
CN1741195A (zh) | 2006-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425595B (zh) | 数据储存装置和闪存的区块管理方法 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US10740013B2 (en) | Non-volatile data-storage device with spare block pools using a block clearing method | |
TWI389125B (zh) | 記憶體儲存裝置及其控制方法 | |
CN106527969B (zh) | 一种寿命均衡的NandFlash存储器读写方法 | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
JP5683023B2 (ja) | 不揮発性一時データの処理 | |
WO2015185002A1 (zh) | 一种数据写入方法及装置 | |
US20030110343A1 (en) | File system including non-volatile semiconductor memory device having a plurality of banks | |
US8296502B2 (en) | Data management method for flash memory and storage system and controller using the same | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
CN104077235A (zh) | 分割物理块的方法及存储器系统 | |
CN103365786B (zh) | 数据存储方法、装置和系统 | |
US8156278B2 (en) | Non-volatile data storage system and method thereof | |
US20090319721A1 (en) | Flash memory apparatus and method for operating the same | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN101464836A (zh) | 闪存储存装置的数据储存方法 | |
CN107045423A (zh) | 存储器装置及其数据存取方法 | |
CN110658995B (zh) | 一种固态硬盘及其配置数据管理方法、装置及存储介质 | |
CN108681509A (zh) | 一种快速建立闪存映射表的方法 | |
CN100442246C (zh) | 非易失性存储器的数据更新方法 | |
TWI420528B (zh) | 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器 | |
TWI232466B (en) | Method for updating data of non-volatile memory | |
TWI453747B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081210 Termination date: 20180826 |