闪存装置以及资料更新方法

文档序号:6577635阅读:111来源:国知局
专利名称:闪存装置以及资料更新方法
技术领域
本发明是有关于一种闪存装置及其资料更新方法,特别是有关于一种以区块为管
理单位的闪存装置及其资料更新方法。
背景技术
闪存装置(Flash Memory即paratus)实质上是由一存储器控制器和多个储存区 块(Block)所组成,其中每个储存区块又包括了多个页面(Page)。在闪存装置的资料更新 机制中,当需要将一笔资料写入至某个储存区块的某个特定页面时,则必须判断该页面是 否已经有写入资料,若该页面尚为空白状态,则可直接将该笔资料写入。反之,若该页面已 经存有资料,则无法采取直接覆写的方法,而必须使用另一个空白的储存区块来进行资料 的更新。 举例来说,参考图1,图中包括了外部电脑10和闪存装置11。闪存装置11中包括 了一存储器控制器12,负责控制资料的读取和写入。在图1中,外部电脑IO提供了一欲写 入闪存装置11的资料X,假设欲写入闪存装置11中的目的储存区块b13的页面1,由于页 面1为空白的无资料状态,因此存储器控制器12可直接将资料X填入页面1。另一方面,假 设资料X欲写入闪存装置11中的目的储存区块b13的页面2,由于该页面已经存有资料, 因此无法写入。对于这种情况,存储器控制器12利用另一个空白的储存区块bl4,先将目 的储存区块b13的页面0和页面1复制到空白储存区块b14相对应的页面上,接着把资料 X写入空白储存区块b14对应的页面2,再将页面3以下的其他页面的资料复制到空白储存 区块bl4相对应的页面上,来达到资料的更新。而原本目的储存区块b13的所有资料则被 抹除(Erase),因此其可视为另一空白区块,用于后续的资料复制程序。
这样的方法即利用所谓的母/子储存区块(Mother/Child Block)关系来执行资 料的更新,原本欲更新的目的储存区块bl3即为母储存区块,而空白储存区块bl4即为子储 存区块。然而,对于上述的现有资料写入方法,由于闪存装置的储存区块是有限的,若欲写 入的目的储存区块数量太多,则有可能占用太多的空白区块来执行资料的复制,因此会造 成效率不佳以及耗费成本的缺点。

发明内容
基于以上的考量,本发明提出一种闪存装置及其资料更新方法,特别是低成本且 高效率的闪存装置及资料更新方法。 有鉴于此,本发明揭露一种闪存装置,包括多个储存区块和一存储器控制器。储存 区块包括一第一储存区块,第一储存区块包括一第一页面。存储器控制器用以接收欲写入 第一页面的一第一资料,当第一页面为已写入状态时,从储存区块中挑选出一者做为一第 一快取区块,将第一资料写入第一快取区块的一第一快取页面,纪录第一储存区块的编号 和第一页面的编号于第一快取页面,以及当接收到一资料更新命令时,根据纪录于第一快 取页面中第一储存区块编号和第一页面编号更新第一储存区块。
此外,本发明另外揭露一种资料更新方法,用于一闪存装置,闪存装置包括一第一 储存区块,第一储存区块包括一第一页面。该资料更新方法包括接收欲写入第一页面的一 第一资料,当第一页面为已写入状态时,从储存区块中挑选出一者做为一第一快取区块。将 第一资料写入第一快取区块的一第一快取页面,纪录第一储存区块的编号和第一页面的编 号于第一快取页面,以及当接收到一资料更新命令时,根据纪录于第一快取页面中第一储 存区块的编号和第一页面的编号更新第一储存区块。


为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具 体实施方式作详细说明,其中 图1显示现有外部电脑和闪存装置的通讯架构示意图; 图2显示根据本发明一实施例所述的闪存装置的方块图; 图3显示根据本发明一实施例所述的闪存装置的资料写入流程图; 图4显示根据本发明另一实施例所述的闪存装置的方块图;以及 图5显示根据本发明一实施例所述的闪存装置的另一资料写入流程图。
主要元件符号说明 10 外部电脑 11、20 闪存装置 12 存储器控制器 bl、b2.....bM 储存区块 cl、c2、c24 快取区块
具体实施例方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合 所附图式,作详细说明如下 图2显示根据本发明一实施例所述的闪存装置20的方块图。闪存装置20包括一 存储器控制器12和M个储存区块,其编号依序为bl、b2、b3. ..b(M-l)和bM。其中,每一储 存区块分别具有多个页面,编号分别为0、1、2、3...等等,如图2所示。假设存储器控制器 12接收到资料X、Y和Z等三笔资料,分别用以写入储存区块bl的页面3、储存区块b2的页 面2和储存区块b3的页面0。由于以上三个储存区块的三个页面都已为具有资料的写入状 态,因此存储器控制器12无法直接将资料写入三个不同的储存区块。此时,存储器控制器 12必须从其他的储存区块中挑出一空白储存区块,当作资料更新用的快取区块。该快取区 块同样具有多个页面,编号分别为0、1、2、3...等等,如图2所示。 接着,存储器控制器12将所接收的用以写入储存区块bl页面3的资料X写入快 取区块的页面0 (编号为0的页面),并将资料X原本应写入的储存区块的编号和页面的编 号纪录于快取区块页面O中的预留区(Spare Area),亦即"储存区块bl,页面3"的纪录讯 息。接着,存储器控制器12将所接收的用以写入储存区块b2页面2的资料Y写入快取区 块的下个页面页面l,并将资料Y原本应写入的储存区块的编号和页面的编号纪录于快取 区块页面1中的预留区,亦即"储存区块b2,页面2"的纪录讯息。同样的,对于资料Z的写 入,存储器控制器12将所接收的用以写入储存区块b3页面0的资料Z写入快取区块的下 个页面页面2,并将资料Z原本应写入的储存区块的编号和页面的编号纪录于快取区块页面2中的预留区,亦S卩"储存区块b3,页面0"的纪录讯息。 在上述实施例中,只需要一个快取区块即可储存多笔欲写入不同储存区块的资 料。此后,当该快取区块建置好且备妥之后,可随时用来进行资料的更新。例如当使用者决 定对资料进行更新时,透过对操作系统执行操作向电脑发出资料更新的命令。当存储器控 制器12接收到该资料更新命令时,便会根据快取区块内所储存的资料X、Y和Z,以及保留区 中所纪录的相关信息来更新资料。举例来说,存储器控制器12根据写入于快取区块页面0 中的资料X,以及纪录于页面0预留区中的储存区块编号和页面编号讯息"储存区块bl,页 面3",即可知道资料X是用以更新至储存区块bl的页面3,因此利用另一空白储存区块,将 资料X写入该空白储存区块的页面3,而空白储存区块其他页面的资料则由储存区块bl的 相关对应页面复制过来。资料更新完成之后,原本的储存区块bl则会被抹除,并释放出来 成为另一个新的空白区块。同理,资料Y和Z的更新流程亦如上所述,因此不再重复叙述。
图3显示根据本发明一实施例所述的闪存装置的资料写入流程图,其中闪存装置 具有多个储存区块,每一储存区块具有多个页面。流程一开始,首先接收欲写入闪存装置所 包括的第一储存区块的第一页面的第一资料(步骤S30)。接着,判断该欲写入的第一页面 是否为可写入状态(步骤S31)。若该欲写入的第一页面非为可写入状态,则从闪存装置的 多个储存区块中挑出一空白储存区块当作快取区块(步骤S32)。若该欲写入的第一页面为 可写入状态,则直接将所接收的第一资料写入该第一页面(步骤S33)。于步骤S32之后, 将第一资料写入快取区块的一页面,并纪录第一储存区块的编号和第一页面的编号于该页 面的保留区(步骤S34)。接着,再接收欲写入闪存装置所包括的第二储存区块的第二页面 的第二资料(步骤S35)。接着,判断该欲写入的第二页面是否为可写入状态(步骤S36)。 若该欲写入的第二页面为可写入状态,则直接将所接收的第二资料写入该第二页面(步骤 S37)。若该欲写入的第二页面非为可写入状态,将第二资料写入快取区块的另一页面,并纪 录第二储存区块的编号和第二页面的编号于该另一页面的保留区(步骤S38)。最后,于接 收到使用者的资料更新命令时,根据快取区块两个页面所写入的第一资料和第二资料,以 及其分别对应的纪录讯息"第一储存区块编号,第一页面编号"和"第二储存区块编号,第二 页面编号",来更新第一储存区块和第二储存区块(步骤S39)。 在以上的实施例中,提到了可用单一快取区块执行多个储存区块的更新任务,然 而,由于一个闪存装置是由多个储存区块构成,因此可根据上述实施例的概念,进一步将闪 存装置中所有的储存区块分成多个储存区块群组,每一群组对应一快取区块,详细如下所 述。 图4显示根据本发明另一实施例所述的闪存装置20的方块图。在图4中,与第
一实施例相同,闪存装置20由M个储存区块构成,编号分别为bl、 b2.....bM。假设M为
1024,亦即闪存装置20由1024个储存区块构成,则存储器控制器12可从这1024个储存区
块中选出一既定比例的N者做为快取区块,编号为cl、c2.....cN。假设N为24,则原本储
存区块的数目即剩下M-N = 1000个。在这情况下,存储器控制器12可将这1000个储存区
块平均分配给24个快取区块使用,每个快取区块分配到1000/24S42个储存区块。如此一 来,编号bl至b42的储存区块所构成的第一储存区块群组分配给编号cl的快取区块,-而 编号b43至b84的储存区块所构成的第二储存区块群组分配给编号c2的快取区块等等。
根据多个组成的储存区块群组,当存储器控制器12接收到一资料,用以写入某一
6储存区块群组所包括的某一储存区块时,存储器控制器12可用对应于该群组的快取区块 来执行资料的更新。例如存储器控制器12接收到资料X、Y和Z等三笔欲写入的资料,其中 资料X用以写入第一储存区块群组内的储存区块b2的页面3,资料Y用以写入第一储存区 块群组内的储存区块b5的页面1,而资料Z用以写入第二储存区块群组内的储存区块b55 的页面7。在这情况下,由于资料X和Y都用以写入同一储存区块群组内的储存区i央,因此只 使用第一储存区块群组所对应的快取区块cl来更新这两笔资料。其更新的原理与第一实 施例相同,因此不再重复叙述。另一方面,由于资料Z用以写入另一储存区块群组内的储存 区块,因此需使用第二储存区块群组所对应的快取区块c2来更新资料。以这样的方式,当 有资料欲更新至不同储存区块群组内的储存区块时,可使用对应的快取区块来更新资料。 因此,使用少数(N)的快取区块即可有效管理闪存装置中所有的储存区块。
另外,在以上的实施例中,储存区块群组内所包括的储存区块都是连续的(每42 个连续编号为一组)。然而,在另一个实施例中,储存区块群组内所包括的储存区块也可以 是不连续的。例如,本发明可将每隔编号42的所有储存区块组成同一群组,则储存区块bl、 b43、b85...等的储存区块将对应至快取区块cl,而储存区块b2、b44、b86...等的储存区 块将对应至快取区块c2,其他以此类推。这样的做法是因为当欲进行资料更新的储存区块 过于连续集中时,会造成只用到少数快取区块的现象。为了让所有的快取区块均能平均使 用,因此储存区块的分组方式可为不连续编号。 此外,在另一实施例中,储存区块的分组可采用随机的方式。例如当储存区块bl 至b1000中,一开始第一笔资料欲写入其中的储存区块b3,则可分配快取区块cl供其资料 更新。接着,若有第二笔资料欲写入储存区块b300,则可分配快取区块c2供其资料更新,一 直到第24笔资料需要更新时,将会用过所有的24个快取区块。此时,若出现第25笔资料 需要更新于储存区块bl0,则可将储存区块bl0分配给这24个快取区块的任一者,其他以此 类推。用这样的随机方式,可根据所需更新的储存区块的发生顺序来分组,进行资料更新。
此外,在另一实施例中,上述图3流程图中的步骤S31、S33、S36和S37甚至是可以 忽略而不影响本发明的功效,如图5的流程图所示。在图5中,首先接收欲写入闪存装置所 包括的第一储存区块的第一页面的第一资料(步骤S50)。接着,从闪存装置的多个储存区 块中挑出一空白储存区块当作快取区块(步骤S51)。接着,将第一资料写入快取区块的一 页面,并纪录第一储存区块的编号和第一页面的编号于该页面的保留区(步骤S52)。接着, 再接收欲写入闪存装置所包括的第二储存区块的第二页面的第二资料(步骤S53)。接着, 将第二资料写入快取区块的另一页面,并纪录第二储存区块的编号和第二页面的编号于该 另一页面的保留区(步骤S54)。最后,根据快取区块两个页面所写入的第一资料和第二资 料,以及其分别对应的纪录讯息"第一储存区块编号,第一页面编号"和"第二储存区块编 号,第二页面编号",来更新第一储存区块和第二储存区块(步骤S55)。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技 术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范 围当以权利要求书所界定的为准。
权利要求
一种闪存装置,包括多个储存区块,包括一第一储存区块,上述第一储存区块包括一第一页面;以及一存储器控制器,接收欲写入上述第一页面的一第一资料,当上述第一页面为已写入状态时,从上述储存区块中挑选出一者做为一第一快取区块,将上述第一资料写入上述第一快取区块的一第一快取页面,纪录上述第一储存区块的编号和上述第一页面的编号于上述第一快取页面,以及当接收到一资料更新命令时,根据纪录于上述第一快取页面中上述第一储存区块的编号和上述第一页面的编号更新上述第一储存区块。
2. 如权利要求1所述的闪存装置,其特征在于,上述存储器控制器更接收一第二资料, 用以写入上述储存区块所包括的一第二储存区块的一第二页面,当上述第二页面为已写入 状态时,上述存储器控制器将上述第二资料写入上述第一快取区块的一第二快取页面,并 纪录上述第二储存区块的编号和上述第二页面的编号于上述第二快取页面。
3. 如权利要求2所述的闪存装置,其特征在于,当接收到上述资料更新命令时,上述存 储器控制器更根据纪录于上述第二快取页面中上述第二储存区块的编号和上述第二页面 的编号更新上述第二储存区块。
4. 如权利要求1所述的闪存装置,其特征在于,上述储存区块的数目为M,且上述存储 器控制器更从上述M个储存区块中挑选出N个做为快取区块。
5. 如权利要求4所述的闪存装置,其特征在于,上述存储器控制器更将所剩余的上述 M-N个储存区块分成N个储存区块群组,每个上述储存区块群组分别对应至上述N个快取区 块的一者。
6. 如权利要求5所述的闪存装置,其特征在于,上述存储器控制器更接收一第二资料, 用以写入上述储存区块群组的一者所包括的一第二储存区块的一第二页面,当上述第二页 面为已写入状态时,上述存储器控制器将上述第二资料写入包括上述第二储存区块的储存 区块群组所对应的一第二快取区块的一第二快取页面,并纪录上述第二储存区块的编号和 上述第二页面的编号于上述第二快取页面。
7. 如权利要求6所述的闪存装置,其特征在于,包括上述第二储存区块的储存区块群 组与包括上述第一储存区块的储存区块群组不同,且当接收到上述资料更新命令时,上述 存储器控制器更根据纪录于上述第二快取页面中上述第二储存区块的编号和上述第二页 面的编号更新上述第二储存区块。
8. —种资料更新方法,用于一闪存装置具有多个储存区块包括一第一储存区块,上述 第一储存区块包括一第一页面,所述方法包括接收欲写入上述第一页面的一第一资料;当上述第一页面为已写入状态时,将上述第一资料写入上述第一快取区块的一第一快 取页面;纪录上述第一储存区块的编号和上述第一页面的编号于上述第一快取页面;以及 当接收到一资料更新命令时,根据纪录于上述第一快取页面中上述第一储存区块的编 号和上述第一页面的编号更新上述第一储存区块。
9. 如权利要求8所述的资料更新方法,其特征在于,更包括接收一第二资料,用以写入上述储存区块所包括的一第二储存区块的一第二页面; 当上述第二页面为已写入状态时,将上述第二资料写入上述第一快取区块的一第二快取页面;以及纪录上述第二储存区块的编号和上述第二页面的编号于上述第二快取页面。
10. 如权利要求9所述的资料更新方法,其特征在于,当接收到上述资料更新命令时, 更包括根据纪录于上述第二快取页面中上述第二储存区块的编号和上述第二页面的编号 更新上述第二储存区块。
11. 如权利要求8所述的资料更新方法,其特征在于,上述储存区块的数目为M,且该方 法更包括从上述M个储存区块中挑选出N个做为快取区块。
12. 如权利要求11所述的资料更新方法,其特征在于,更包括将所剩余的上述M-N个储 存区块分成N个储存区块群组,每个上述储存区块群组分别对应至上述N个快取区块的一 者。
13. 如权利要求12所述的资料更新方法,其特征在于,更包括下列步骤 接收一第二资料,用以写入上述储存区块群组的一者所包括的一第二储存区块的一第二页面;当上述第二页面为已写入状态时,将上述第二资料写入包括上述第二储存区块的储存 区块群组所对应的一第二快取区块的一第二快取页面;以及纪录上述第二储存区块的编号和上述第二页面的编号于上述第二快取页面。
14. 如权利要求13所述的资料更新方法,其特征在于,更包括当接收到上述资料更新 命令时,根据纪录于上述第二快取页面中上述第二储存区块的编号和上述第二页面的编号 更新上述第二储存区块,其中包括上述第二储存区块的储存区块群组与包括上述第一储存 区块的储存区块群组不同。
全文摘要
本发明揭露一种低成本且高效率的闪存装置以及资料更新方法,此闪存装置包括多个储存区块和一存储器控制器。储存区块包括一第一储存区块,第一储存区块包括一第一页面。存储器控制器用以接收欲写入第一页面的一第一资料,当第一页面为已写入状态时,从储存区块中挑选出一者做为一第一快取区块,将第一资料写入第一快取区块的一第一快取页面,纪录第一储存区块的编号和第一页面的编号于第一快取页面,以及当接收到一资料更新命令时,根据纪录于第一快取页面中第一储存区块编号和第一页面编号更新第一储存区块。
文档编号G06F12/08GK101727404SQ20091013243
公开日2010年6月9日 申请日期2009年3月24日 优先权日2008年10月16日
发明者林财成 申请人:慧国(上海)软件科技有限公司;慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1