闪存区块选取方法及数据储存装置制造方法及图纸

技术编号:7935797 阅读:198 留言:0更新日期:2012-11-01 05:47
本发明专利技术提供一种闪存区块选取方法及数据储存装置。首先,将一闪存分为多个区块大群,并将每一这些区块大群分为多个区块群,其中每一区块群包括一第二数目的区块群。接着,于一评分记录表中记录该闪存的这些区块对应的分数。接着,于一极值记录表中记录每一这些区块群所包含的区块对应的分数的一第一极值、每一这些区块大群所包含的区块对应的分数的一第二极值、以及该闪存的所有这些区块对应的分数的一总极值。最后,依据该极值记录表中记录的该总极值自该闪存的这些区块决定一牺牲区块以供运用。

【技术实现步骤摘要】

本 专利技术是有关于闪存,特别是有关于闪存区块选取。
技术介绍
闪存包括多个区块(block),每一区块包含用以储存数据的多个页(page)。当控制器欲将数据储存至闪存,必须自闪存的多个区块选择其中之一区块,以供储存数据。为了管理闪存中区块的数据储存,控制器有时亦必须自闪存的多个区块选择其中之一,以删除被选择区块所储存的数据。被选择的区块称之为「牺牲区块」(victim block)。因此,控制器经常必须自闪存的多个区块选择ー牺牲区块,以供数据删除或数据储存。一般来说,当控制器选择牺牲区块吋,并非盲目的进行选择,而是依据闪存中各区块的分数(score)高低而进行选择。控制器可能会事先对闪存中的所有区块进行评分,再依据分数高低选择牺牲区块。例如,若分数愈高的区块愈适合成为牺牲区块,则控制器选择对应于分数的最大值的区块作为牺牲区块;而若分数愈低的区块愈适合成为牺牲区块,则控制器选择对应于分数的最小值的区块作为牺牲区块。因此,当控制器选择牺牲区块时,必须事先由闪存的所有区块的分数中找出分数的极值(extreme value)。寻找极值并不是件容易的事。首先,控制器必须维护一分数数据串,此分数数据串记载闪存中所有的区块的分数。接着,控制器必须在相当短的时间内依据分数数据找到分数极大值。举例来说,依据闪存的规格,当主机发送ー写入命令至控制器,自控制器接到写入命令开始起算,控制器至多仅能花费200ms将数据写入。因此,控制器搜寻分数极值的时间无法超过200ms。控制器找到分数极大值所需花费的时间与分数数据串的数据结构有夫。举例来说,图IA为以串行方式储存闪存区块的分数数据的示意图。X个区块的分数S1 Sx依序储存为数据储存単元101 10X,而控制器必须逐一搜寻数据储存単元101 10X,才能找到分数S1 Sx中的极值。因此,对以串行方式储存的分数数据搜寻极值所需的时间最长。图IB为以ニ元树方式储存闪存区块的分数数据的示意图。ニ元树的ー节点分生为左方子树(left subtree)与右方子树(right subtree),其中左方子树的节点资料值均小于根节点的数据值,而右方子树的节点数据值均大于根节点的数据值。因此,ニ元树中储存的数据极值便是ニ元树的右下方节点。例如,图IB中的ニ元树120所储存的分数数据S1 S12中的极大值是节点128储存的分数S6。虽然以ニ元树的数据结构储存数据易于寻找极值,但当新数据欲存入ニ元树时需耗费大量时间。例如当欲将分数S12存入ニ元树120时,需逐次与节点121、123、125、127、130进行分数大小的比较,耗费许多时间。当ニ元树中储存的数据愈多时,维护ニ元树的数据必须耗费过多的时间,不利于控制器的数据存取。因此,需要ー种数据结构,可以让控制器于短时间内记录闪存区块的分数,又可让控制器于短时间内搜寻出闪存区块分数的极值
技术实现思路
有鉴于此,本专利技术的目的在于提供一种闪存区块选取方法,以解决习知技术存在的问题。首先,将ー闪存的多个区块分为多个区块群,其中每一区块群包括一第一数目的区块。接着,将这些区块群分为多个区块大群,其中每一区块大群包括一第二数目的区块群。接着,于ー评分记录表中记录该闪存的这些区块对应的分数(score)。接着,于ー极值记录表中记录姆一这些区块群所包含的区块对应的分数的一第一极值(extreme value)、姆ー这些区块大群所包含的区块对应的分数的一第二极值、以及该闪存的所有这些区块对应的分数的ー总极值。当这些区块中的一目标区块对应的分数有修改时,将该修改后分数与该极值记录表中对应于该目标区块的该第一极值、该第二极值、以及该总极值比较,以决定是否将该第一极值、该第二极值、以及该总极值置换为该修改后分数。最后,依据该极值记录表中记录的该总极值自该闪存的这些区块决定ー牺牲区块(victim block)以供运用。本专利技术提供ー种数据储存装置。于ー实施例中,该数据储存装置包括ー闪存、一随机存取内存、以及ー控制器。首先,该闪存包含多个区块大群,其中每一区块大群包括一第一数目的区块群,每一区块群包括一第二数目的区块。该随机存取内存储存一评分记录表及ー极值记录表,其中该评分记录表中记录该闪存的这些区块对应的分数(score), 而该极值记录表中记录姆一这些区块群所包含的区块对应的分数的一第一极值(extremevalue)、每ー这些区块大群所包含的区块对应的分数的一第二极值、以及该闪存的所有这些区块对应的分数的ー总极值。该控制器依据该极值记录表中记录的该总极值自该闪存的这些区块决定ー牺牲区块(victim block)以供运用,以及当这些区块中的一目标区块对应的分数有修改时,将该修改后分数与该极值记录表中对应于该目标区块的该第一极值与该第二极值以及该总极值比较,以决定是否将该第一极值、该第二极值、以及该总极值置换为该修改后分数。为了让本专利技术的上述和其它目的、特征、和优点能更明显易懂,下文特举数较佳实施例,并配合所附图示,作详细说明如下附图说明图IA为以串行方式储存闪存区块的分数数据的示意图;图IB为以ニ元树方式储存闪存区块的分数数据的示意图;图2为依据本专利技术的数据储存装置的区块图;图3为依据本专利技术的闪存区块分群的示意图;图4为依据本专利技术的评分记录表的示意图;图5为依据本专利技术的极值记录表的示意图;图6为依据本专利技术的极值记录表的维护方法的流程图;图7为依据本专利技术的极值记录表自闪存选取区块的方法的流程图。具体实施例方式图2为依据本专利技术的数据储存装置200的区块图。于ー实施例中,数据储存装置200包括一控制器202、ー闪存204、以及ー随机存取内存206。闪存204包括多个区块221 22Y,这些区块221 22Y分别用以储存数据。闪存204的所有区块221 22Y被区分为多个区块大群,每一区块大群又被区分为多个区块群,每一区块群包括一固定数目的区块。随机存取内存206中储存ー评分记录表212及ー极值记录表214。评分记录表212中记录闪存204中所有区块221 22Z的分数(score)。极值记录表214中记录每一区块群中的区块分数的极值、每一区块大群中的区块分数的极值、以及闪存204中的所有区块的分数的极值。极值记录表214中所记录的分数的极值(extreme value)可为分数的极大值或极小值。控制器202维持随机存取内存206中储存的评分记录表212及极值记录表214。当数据储存装置200断电前,由于随机存取内存206无法在无电源供应下保持数据,控制器202将随机存取内存206中储存的评分记录表212及极值记录表214转储存至闪存204的一特定区块中。当数据储存装置200重新上电后,控制器202自闪存204的特定区块中读取评分记录表212及极值记录表214的数据,再将评分记录表212及极值记录表214储存至随机存取内存206中。 当控制器202需要自闪存204的多个区块221 22Y中决定ー牺牲区块(victimblock)时,控制器202自极值记录表214读取闪存204中的所有区块的分数中的极值,再自闪存204选择对应此极值的区块作为牺牲区块。假设控制器202欲自闪存204选取ー牺牲区块以自该牺牲区块删除数据。于ー实施例中,区块的分数为区块的删除次数(era本文档来自技高网
...

【技术保护点】
一种闪存区块选取方法,包括下列步骤:将一闪存分为多个区块大群,其中每一区块大群包括一第一数目的区块;将每一这些区块大群分为多个区块群,其中每一区块群包括一第二数目的区块群;于一评分记录表中记录该闪存的这些区块对应的分数;于一极值记录表中记录每一这些区块群所包含的区块对应的分数的一第一极值、每一这些区块大群所包含的区块对应的分数的一第二极值、以及该闪存的所有这些区块对应的分数的一总极值;当这些区块中的一目标区块对应的分数有修改时,将该修改后分数与该极值记录表中的对应于该目标区块的该第一极值及该第二极值以及该总极值比较,以决定是否将该第一极值、该第二极值、以及该总极值置换为该修改后分数;以及依据该极值记录表中记录的该总极值自该闪存的这些区块决定一牺牲区块以供运用。

【技术特征摘要】
1.一种闪存区块选取方法,包括下列步骤 将ー闪存分为多个区块大群,其中每一区块大群包括一第一数目的区块; 将每ー这些区块大群分为多个区块群,其中每一区块群包括一第二数目的区块群; 于ー评分记录表中记录该闪存的这些区块对应的分数; 于ー极值记录表中记录每一这些区块群所包含的区块对应的分数的一第一极值、每ー这些区块大群所包含的区块对应的分数的一第二极值、以及该闪存的所有这些区块对应的分数的一总极值; 当这些区块中的一目标区块对应的分数有修改时,将该修改后分数与该极值记录表中的对应于该目标区块的该第一极值及该第二极值以及该总极值比较,以决定是否将该第一极值、该第二极值、以及该总极值置换为该修改后分数;以及 依据该极值记录表中记录的该总极值自该闪存的这些区块决定ー牺牲区块以供运用。2.如权利要求I所述的闪存区块选取方法,其特征在于,这些第一极值分别为这些区块群所包含的区块所对应的分数的极小值,这些第二极值分别为这些区块大群所包含的区块所对应的分数的极小值,而该总极值为该闪存的所有这些区块所对应的分数的极小值。3.如权利要求I所述的闪存区块选取方法,其特征在于,这些第一极值分别为这些区块群所包含的区块所对应的分数的极大值,这些第二极值分别为这些区块大群所包含的区块所对应的分数的极大值,而该总极值为该闪存的所有这些区块所对应的分数的极大值。4.如权利要求I所述的闪存区块选取方法,其特征在于,该修改后分数与对应于该目标区块的该第一极值及该第二极值以及该总极值的比较步骤包括 自该极值记录表中读取包含该目标区块的一目标区块群所对应的一目标第一极值; 比较该目标区块的该修改后分数与该目标第一极值; 当该修改后分数超过该目标第一极值,将该目标第一极值置换为该修改后分数,并自该极值记录表中读取包含该目标区块的一目标区块大群所对应的一目标第二极值; 比较该目标区块的该修改后分数与该目标第二极值; 当该修改后分数超过该目标第二极值,将该目标第二极值置换为该修改后分数,并自该极值记录表中读取该总极值; 比较该目标区块的该修改后分数与该总极值;以及 当该修改后分数超过该总极值,将该总极值置换为该修改后分数。5.如权利要求I所述的闪存区块选取方法,其特征在于,该牺牲区块的该决定步骤包括 自该极值记录表读取该总极值; 自该闪存的这些区块中选取该总极值所对应的一区块作为该牺牲区块;以及 命令该闪存对该牺牲区块的进行数据处理。6.如权利要求I所述的闪存区块选取方法,其特征在干,当包含该闪存的一数据储存装置被供电时,该评分记录表及该极值记录表储存于该数据储存装置的一随机存取内存中,而当包含该数据储存装置未被供电时,该评分记录表及该极值记录表储存于该闪存的一区块中。7.如权利要求第I项所述的...

【专利技术属性】
技术研发人员:乔梦麟
申请(专利权)人:慧荣科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1