CN103136071B - 电子系统及其存储器管理方法 - Google Patents
电子系统及其存储器管理方法 Download PDFInfo
- Publication number
- CN103136071B CN103136071B CN201110415597.2A CN201110415597A CN103136071B CN 103136071 B CN103136071 B CN 103136071B CN 201110415597 A CN201110415597 A CN 201110415597A CN 103136071 B CN103136071 B CN 103136071B
- Authority
- CN
- China
- Prior art keywords
- block
- page
- scratch
- flash memory
- target
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 21
- 239000000203 mixture Substances 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000000875 corresponding Effects 0.000 claims description 16
- 238000000151 deposition Methods 0.000 claims description 4
- 210000004027 cells Anatomy 0.000 claims 2
- 210000000352 storage cell Anatomy 0.000 claims 2
- 238000000034 method Methods 0.000 description 13
- 102200031774 CHURC1 S12A Human genes 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002596 correlated Effects 0.000 description 1
- 230000003247 decreasing Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Abstract
本发明所提供的管理方法应用于包含多个区块快闪存储器。各区块包含多组成对的第一页面及第二页面。回应于将一目标数据写入一目标区块的要求,该管理方法首先执行一选择步骤,自这些区块中选择至少一暂存区块。随后,该目标数据被写入该至少一暂存区块的这些第一页面中。当一写回条件成立时,该目标数据自该至少一暂存区块的这些第一页面被写回该目标区块。
Description
技术领域
本发明与快闪存储器(flash memory)相关,并且尤其与应用于多阶储存单元(multi-level cell,MLC)快闪存储器的管理方法相关。
背景技术
不同于单阶储存单元(single-level cell,SLC)快闪存储器,多阶储存单元快闪存储器可以在每个储存单元内储存两个以上的资讯位元。此处的“多阶”指的是记录在每个储存单元中的电压值多于两个。虽然多阶储存单元快闪存储器存在使用寿命较短、耗电量较高,且读写速度较慢等缺点,但因其单位成本所对应的容量高于单阶储存单元快闪存储器,仍被广泛应用在多种储存装置中。
一般而言,多阶储存单元快闪存储器是由多个区块(block)组成,各区块中又分别包含多组成对的页面(page)。以一包含32个页面的区块为例,其中可能包含有16个最高效位元(most significant bit,MSB)页面和16个最低效位元(leastsignificant bit,LSB)页面;每个MSB页面和一个LSB页面成对,共用同一组储存单元。多阶储存单元快闪存储器的重大缺点之一是,在将数据写入某个MSB页面的过程中一旦发生不正常断电或重置的状况,不只是正在被写入数据的MSB页面会被破坏,与该MSB页面成对之LSB页面中原本储存的数据也受到损坏,反之亦然。
目前已有一些防范或修复此类错误的方案,其一是由上层档案系统根据系统纪录档(log)回复未正常完成写入的档案。其二是将写入范围限定在所有成对页面中的单一类页面(例如仅利用MSB页面或LSB页面),这种做法的缺点在于存储器中可供利用的容量会大幅减少。其三则是在对某个页面A写入数据时,将其成对页面B中原本储存的数据先备份到另一个区域;若在写入程序中发生错误状况,系统可自该备份区域将数据回复至页面B。
发明内容
本发明针对多阶储存单元快闪存储器提出一种新的管理方法。在写入程序中,数据首先被存放在暂存区块的特定一种页面,藉此避免成对页面相互损坏的问题。待写回条件成立后,目标数据才会被正式写入目标区块。如果在将目标数据写入目标区块的过程中发生不正常状况,暂存区块中的数据亦可用以协助回复目标区块。
根据本发明的一具体实施例为一种管理方法,应用于包含多个区块的多阶储存单元快闪存储器。各区块包含多组成对的第一页面及第二页面。回应于将一目标数据写入一目标区块的要求,该管理方法首先执行一选择步骤,自这些区块中选择至少一暂存区块。随后,该目标数据被写入该至少一暂存区块的这些第一页面中。当一写回条件成立时,该目标数据自该至少一暂存区块的这些第一页面被写回该目标区块。
根据本发明的另一具体实施例为一电子系统,其中包含一多阶储存单元快闪存储器及一控制器。该多阶储存单元快闪存储器中包含多个区块;各区块包含多组成对的第一页面及第二页面。回应于将一目标数据写入一目标区块之要求,该控制器自这些区块中选择至少一暂存区块,并将该目标数据写入该至少一暂存区块的这些第一页面中。当一写回条件成立时,该控制器将该目标数据自该至少一暂存区块的这些第一页面写回该目标区块。
根据本发明的另一具体实施例为一种电脑可读取储存媒体,其中储存有能由一处理器读取并执行的一程序码。该程序码用以管理一多阶储存单元快闪存储器。该多阶储存单元快闪存储器包含多个区块;各区块包含多组成对的第一页面及第二页面。一第一程序码用以回应将一目标数据写入一目标区块的要求,自这些区块中选择至少一暂存区块。一第二程序码用以将该目标数据写入该至少一暂存区块之这些第一页面中。当一写回条件成立时,该第三程序码用以将该目标数据自该至少一暂存区块的这些第一页面写回该目标区块。
为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合附图,作详细说明如下:
附图说明
图1、图4和图5为根据本发明的实施例中的存储器管理方法流程图。
图2为根据本发明的实施例中的暂存区块内容示意图。
图3为根据本发明的目标区块和暂存区块的页面对应关系示意图。
图6为根据本发明的一具体实施例中的电子系统方块图。
主要元件符号说明
S11-S16:流程步骤 S21-S22:流程步骤
62:快闪存储器 64:控制器
A:目标区块 B1、B2:暂存区块
具体实施方式
根据本发明的一具体实施例为一种快闪存储器的管理方法,例如可应用于多阶储存单元(multi-level cell,MLC)快闪存储器,图1为其流程图。实务上,该MLC快闪存储器可以是直接内建于某一电子系统中,也可以是以存储卡或随身碟的形式存在,透过各种转接装置被连接至电子系统。举例而言,该电子系统可为数位摄影机、行动通讯装置、携带型电脑、桌上型电脑或外接式储存装置等各种能与MLC快闪存储器沟通的装置。
本实施例中的MLC快闪存储器包含多个区块,各区块又分别包含多组成对的第一页面及第二页面。举例而言,第一页面可为一最高效位元(most significantbit,MSB)页面,而第二页面相对为一最低效位元(least significant bit,LSB)页面。或者,若第一页面为LSB页面,则第二页面相对为MSB页面。对三阶储存单元(triple-level cell,TLC)快闪存储器来说,上述第一页面和第二页面可以是同组的三个页面中的任两个页面。以下说明将以第一页面为LSB页面、第二页面为MSB页面的情况为例。
如图1所示,步骤S11接收将一目标数据写入一目标区块的要求。回应于此要求,步骤S12首先被执行,以自该MLC快闪存储器的区块中选择至少一个暂存区块。举例而言,该MLC快闪存储器可被设计为保留20个区块(不以此为限),专用于做为暂存区块之用。若步骤S11所接收的要求是希望将一目标数据写入该MLC快闪存储器中的目标区块A,则步骤S12可以是从上述20个暂存区块中选出两个目前未被使用的暂存区块,分别做为对应于目标区块A的暂存区块B1、B2。
接着,在步骤S13中,该预定被写入目标区块A的目标数据会被写入暂存区块B1、B2,而非直接写入目标区块A。图2为暂存区块B1、B2的内容范例示意图。于此实施例中,该目标数据只会被存放在暂存区块B1、B2的LSB页面中。易言之,暂存区块B1、B2的MSB页面不会被使用。以目标区块A及暂存区块B1、B2各自包含16个LSB页面和16个MSB页面的情况为例,该目标数据只会被存放在暂存区块B1的16个LSB页面和暂存区块B2的16个LSB页面中。
图2中的范例假设预定被写入目标区块A的目标数据的大小共需占用14个页面。应注意的是,目标数据依序写入暂存区块B1及B2的LSB页面,图中的序号栏位用以标示写入顺序。于此范例中,该目标数据的第一个页面被存入暂存区块B1中页面编号为0的页面;该目标数据的第二个页面被存入暂存区块B2中页面编号为0的页面;该目标数据的第三个页面则是被存入暂存区块B1中页面编号为1的页面。图2中所示为目标数据的前13个页面已存入完成,而第14个页面正在被存入暂存区块B2中页面编号为10的页面的状态。
如图2所示,该目标数据被分散存放在暂存区块B1、B2的LSB页面中。由于暂存区块B1、B2的MSB页面皆未被使用,暂存区块B1、B2的储存型式等同于单阶储存单元快闪存储器区块的储存型式,因而不会发生成对页面相互损坏的问题。
步骤S14为判断一写回条件是否成立。于一实施例中,该写回条件包含一正常关机状况。所谓的正常关机状况是指,配合该MLC快闪存储器的电子系统将依正常程序进入关机状态。若步骤S14的判断结果为否,步骤S16将被执行,结束目前的写入程序。相对地,若步骤S14的判断结果为是,步骤S15将被执行,将该目标数据自暂存区块B1、B2的这些LSB页面写回目标区块A。实务上,当正常关机状况出现时,存放于上述20个暂存区块中的数据可被各自写回其所对应的目标区块。
图3为目标区块A和暂存区块B1、B2的页面对应关系示意图。于本范例中,若步骤S14的判断结果为是,存放在暂存区块B1、B2的14个LSB页面中的目标数据被按序号分别写回目标区块A中页面编号为0-13的页面。须说明的是,目标区块A中供存放目标数据的范围不以特定一种页面为限。也就是说,目标区块A中的LSB页面或MSB页面都可被用来存放数据。值得注意的是,在将数据写回目标区块A的过程中,即使出现不正常断电状况,暂存区块B1、B2中仍存有可供回复的备份数据。因此无须担心页面相互损坏的问题。
在另一实施例中,该写回条件包含一暂存区块容量饱和状况。举例而言,假设预定被写入目标区块A的目标数据的大小共需占用32个页面,也就是将会占据暂存区块B1、B2中所有的LSB页面。在这笔目标数据完全写入暂存区块B1、B2后,可判定暂存区块B1、B2的容量已达饱和。在暂存区块容量饱和的状况下,执行步骤S15亦应被执行,将存放在暂存区块B1、B2的32个LSB页面中的目标数据写回目标区块A中页面编号为0-31的页面。
实务上,在暂存区块B1、B2的容量饱和之前,预定被写入目标区块A的目标数据都可被暂存在暂存区块B1、B2中。每个正在被使用的暂存区块都会被标记其对应于MLC快闪存储器中的哪一个区块。待目标数据写回目标区块A之后,暂存区块B1、B2可以被清空,重新成为未在使用中的暂存区块。
于另一实施例中,该写回条件包含一暂存区块数量不足状况。举例而言,假设前述20个暂存区块都被标记为正在被使用当中时,出现希望将数据写入MLC快闪存储器的要求,则20个暂存区块中的一个或多个暂存区块的数据可先被写回其所对应的区块,藉此空出可供暂存新数据的暂存区块。
图4为根据本发明的另一实施例中的管理方法流程图。于此实施例的管理方法还包含步骤S12A,其在步骤S12之前判断该快闪存储器中是否已存在对应于该目标区块的至少一暂存区块。若步骤S12A的判断结果为否,则在步骤S12中以自未被使用的区块中为该目标区块选择至少一暂存区块。相对地,若步骤S12A的判断结果为是,在步骤S12中,选择该已存在的对应于该目标区块的该至少一暂存区块,且于步骤S13中,目标数据就会直接被写入已存在的该至少一暂存区块。举例而言,若先前该20个暂存区块中已存在两个对应于目标区块A的暂存区块B1、B2,再次收到将数据写入目标区块A的要求时,便不需要另外指定暂存区块,可直接使用暂存区块B1、B2。
图5为根据本发明的另一实施例中的管理方法流程图。此流程用以配合图4或图5中的管理方法。如先前所述,若电子系统依正常程序进入关机状态,所有暂存区块中的数据都应该已经被写回各自对应的区块中。因此,在配合该快闪存储器的一电子系统被重新启动后,步骤S21首先被执行,以检查该快闪存储器中是否存在任何存有数据之暂存区块。若步骤S21的判断结果为是,表示先前可能曾出现不正常关机的状况,则步骤S22被执行,将该暂存区块中的数据写回该暂存区块所对应的区块,藉此复原先前可能未被正确写入的数据。
根据本发明的另一具体实施例为一电子系统,如图6所示,其中包含一快闪存储器62,例如为MLC快闪存储器,以及一控制器64。快闪存储器62中包含多个区块;各区块又包含多组成对的第一页面及第二页面。回应于将一目标数据写入一目标区块A的要求,控制器64自这些区块中选择至少一暂存区块(B1、B2),并将该目标数据写入该至少一暂存区块(B1、B2)的第一页面(例如LSB页面)中。当一写回条件成立时,控制器64将该目标数据自该至少一暂存区块(B1、B2)之这些第一页面写回目标区块A。
控制器64的详细操作方式可参考先前所介绍的几种管理方法,不再赘述。于一实施例中,控制器64可包含用以执行步骤S12A的判断模块和执行步骤S12的选择模块。于一实施例中,控制器64可进一步包含用以执行步骤S21的另一判断模块及用以执行步骤S22的复原模块。
根据本发明的另一具体实施例为一种电脑可读取储存媒体,其中储存有能由一处理器读取并执行的一程序码。举例而言,该程序码可为安装于电子系统中的存储器管理韧体,但不以此为限。该程序码用以管理一快闪存储器。当处理器载入该程序码并执行后,可完成如图1、图4或图5所绘示的程序。
如上所述,本发明提出了一种新的快闪存储器控制方案,在写入程序中,先将数据存放在暂存区块的特定一种页面,藉此避免成对页面相互损坏的问题。待写回条件成立后,目标数据才会被正式写入目标区块。如果在将目标数据写入目标区块的过程中发生不正常状况,暂存区块中的数据亦可用以协助回复目标区块。
综上所述,虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当由后附的权利要求书为准。
Claims (18)
1.一种应用于一快闪存储器的管理方法,该快闪存储器包含多个区块,各区块包含多组成对的一第一页面及一第二页面,该管理方法包含:
(a)自这些区块中选择至少一暂存区块;
(b)将一目标数据写入该至少一暂存区块的这些第一页面中;以及
(c)当一写回条件成立时,将该目标数据自该至少一暂存区块的这些第一页面写回一目标区块,该写回条件为一正常关机状况、一暂存区块数量不足状况或一暂存区块容量饱和状况,该目标区块供存放该目标数据的一范围包含多组成对的一第一页面及一第二页面。
2.如权利要求1所述的管理方法,其特征在于,该快闪存储器为一多阶储存单元快闪存储器,且该第一页面为一最高效位元页面或一最低效位元页面,而该第二页面为相对的另一种页面。
3.如权利要求1所述的管理方法,其特征在于,该快闪存储器为一三阶储存单元快闪存储器,且该第一页面和该第二页面为一组互相配对的三个页面中的任两个页面。
4.如权利要求1所述的管理方法,其特征在于,步骤(a)自这些区块中选择对应于该目标区块的两个暂存区块。
5.如权利要求1所述的管理方法,其特征在于,包含:
(a1)在步骤(a)之前,判断该快闪存储器中是否已存在对应于该目标区块的至少一暂存区块;
若步骤(a1)的判断结果为是,则在步骤(a)选择已存在的该至少一暂存区块;以及
若步骤(a1)的判断结果为否,则在步骤(a)自尚未被使用的区块中为该目标区块选择至少一暂存区块。
6.如权利要求1所述的管理方法,其特征在于,进一步包含:
(d1)在配合该快闪存储器的一电子系统被重新启动后,检查该快闪存储器中是否存在任何存有数据的暂存区块;以及
(d2)若步骤(d1)的判断结果为是,将该暂存区块中的数据写回该暂存区块所对应的目标区块。
7.一种电子系统,包含:
一快闪存储器,其中包含多个区块,各区块包含多组成对的一第一页面及一第二页面;以及
一控制器,耦接于该快闪存储器,用以自这些区块中选择至少一暂存区块,并将一目标数据写入该至少一暂存区块的这些第一页面中;以及,当一写回条件成立时,将该目标数据自该至少一暂存区块之这些第一页面写回一目标区块,该写回条件为一正常关机状况、一暂存区块数量不足状况或一暂存区块容量饱和状况,该目标区块供存放该目标数据的一范围包含多组成对的一第一页面及一第二页面。
8.如权利要求7所述的电子系统,其特征在于,该快闪存储器为一多阶储存单元快闪存储器,且该第一页面为一最高效位元页面或一最低效位元页面,而该第二页面为相对的另一种页面。
9.如权利要求7所述的电子系统,其特征在于,该快闪存储器为一三阶储存单元快闪存储器,且该第一页面和该第二页面为一组互相配对的三个页面中的任两个页面。
10.如权利要求7所述的电子系统,其特征在于,回应于将该目标数据写入该目标区块的要求,该控制器自这些区块中选择对应于该目标区块的两个暂存区块。
11.如权利要求7所述的电子系统,其特征在于,该控制器包含:
一第一判断模块,用以判断该快闪存储器中是否已存在对应于该目标区块的至少一暂存区块;以及
一选择模块,若该第一判断模块的判断结果为是,该选择模块即选择已存在的该至少一暂存区块;若该第一判断模块的判断结果为否,该选择模块即自尚未被使用的区块中为该目标区块选择至少一暂存区块。
12.如权利要求7所述的电子系统,其特征在于,该控制器包含:
一第二判断模块,用以于该电子系统被重新启动后,检查该快闪存储器中是否存在任何存有数据的暂存区块;以及
一复原模块,若该第二判断模块的判断结果为是,该复原模块将该暂存区块中的数据写回该暂存区块所对应的目标区块。
13.一种用以管理一快闪存储器的装置,该快闪存储器包含多个区块,各区块包含多组成对的一第一页面及一第二页面,所述装置包含:
用以自这些区块中选择至少一暂存区块的装置;
用以将一目标数据写入该至少一暂存区块之这些第一页面中的装置;以及
用于当一写回条件成立时将该目标数据自该至少一暂存区块的这些第一页面写回一目标区块的装置,该目标区块供存放该目标数据的一范围包含多组成对的一第一页面及一第二页面。
14.如权利要求13所述的装置,其特征在于,该快闪存储器为一多阶储存单元快闪存储器,且该第一页面为一最高效位元页面或一最低效位元页面,而该第二页面为相对的另一种页面。
15.如权利要求13所述的装置,其特征在于,所述用以自这些区块中选择至少一暂存区块的装置自这些区块中选择对应于该目标区块的两个暂存区块。
16.如权利要求13所述的装置,其特征在于,包含:
用以判断该快闪存储器中是否已存在对应于该目标区块的至少一暂存区块,以产生一第一判断结果的装置;其中,所述用以自这些区块中选择至少一暂存区块的装置包含:
用以于该第一判断结果为是时,选择已存在的该至少一暂存区块的装置;以及
用以于该第一判断结果为否时,自尚未被使用的区块中为该目标区块选择至少一暂存区块的装置。
17.如权利要求13所述的装置,其特征在于,该写回条件为一正常关机状况、一暂存区块数量不足状况或一暂存区块容量饱和状况。
18.如权利要求14所述的装置,其特征在于,进一步包含:
用以在配合该快闪存储器的一电子系统被重新启动后,检查该多阶储存单元快闪存储器中是否存在任何存有数据的暂存区块,以产生一第二判断结果的装置;以及
用以于该第二判断结果为是时,将该暂存区块中的数据写回该暂存区块所对应的目标区块的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110415597.2A CN103136071B (zh) | 2011-12-01 | 电子系统及其存储器管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110415597.2A CN103136071B (zh) | 2011-12-01 | 电子系统及其存储器管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136071A CN103136071A (zh) | 2013-06-05 |
CN103136071B true CN103136071B (zh) | 2016-12-14 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140805A (zh) * | 2006-09-04 | 2008-03-12 | 三星电子株式会社 | 在多层单元闪存中管理坏运行时间块的方法和设备 |
CN101281787A (zh) * | 2007-04-02 | 2008-10-08 | 宇瞻科技股份有限公司 | 具反和逻辑型快闪记忆体的储存装置及其资讯储存方法 |
CN101656104A (zh) * | 2008-08-22 | 2010-02-24 | 群联电子股份有限公司 | 快闪存储器储存系统及其数据写入方法 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140805A (zh) * | 2006-09-04 | 2008-03-12 | 三星电子株式会社 | 在多层单元闪存中管理坏运行时间块的方法和设备 |
CN101281787A (zh) * | 2007-04-02 | 2008-10-08 | 宇瞻科技股份有限公司 | 具反和逻辑型快闪记忆体的储存装置及其资讯储存方法 |
CN101656104A (zh) * | 2008-08-22 | 2010-02-24 | 群联电子股份有限公司 | 快闪存储器储存系统及其数据写入方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
CN102043727B (zh) | 恢复固态硬盘映射表的方法及其装置 | |
US8738974B2 (en) | Nonvolatile memory device and memory controller | |
CN102508785B (zh) | 一种磨损均衡方法及装置 | |
US7610465B2 (en) | Method and related apparatus for data migration utilizing disk arrays | |
CN103136108B (zh) | 快闪存储装置及其数据读取方法 | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
CN103092765B (zh) | 固态存储系统、装置及数据写入方法 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
CN101777026A (zh) | 一种存储管理方法、硬盘及存储系统 | |
US9524212B2 (en) | Method, device and operating system for processing and using burn data of NAND flash | |
TWI470432B (zh) | 電子系統及其快閃記憶體管理方法 | |
CN102298543A (zh) | 一种存储器管理方法和装置 | |
CN102902637A (zh) | 一种固态硬盘数据断电保护方法 | |
CN104281538A (zh) | 一种存储设备的扩容及快照方法和存储设备 | |
CN102789422B (zh) | 固态硬盘的数据写入方法 | |
CN105808378A (zh) | 元数据修复方法及装置 | |
CN111221750B (zh) | 固态储存装置的数据处理方法 | |
CN102789813B (zh) | 一种控制存储设备内非最低有效位页使用的方法及装置 | |
CN104932830A (zh) | 信息处理方法及电子设备 | |
CN105302679A (zh) | 一种智能终端存储稳定性的检测方法及系统 | |
CN103136071B (zh) | 电子系统及其存储器管理方法 | |
CN109918228A (zh) | 一种数据掉电保持方法及系统 | |
CN102609370B (zh) | 防止固态硬盘数据丢失的方法及其固态硬盘 | |
CN102385553A (zh) | 闪存的存取装置及存取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161214 Termination date: 20191201 |