首页> 中国专利> 读取平均化方法及使用读取平均化方法的存储器装置

读取平均化方法及使用读取平均化方法的存储器装置

摘要

本发明公开了一种读取平均化方法及使用读取平均化方法的存储器装置。存储器装置包含第一存储器区块及至少一第二存储器区块。此方法包含以下步骤。判断第一存储器区块的区块读取计数是否大于或等于第一阈值。当第一存储器区块的区块读取计数大于或等于第一阈值时,侦测第一存储器区块的页的读取计数。判断第一存储器区块的区块读取计数是否大于或等于第二阈值。当第一存储器区块的区块读取计数大于或等于第二阈值时,将第一存储器区块的其中一页的数据移动到第二存储器区块的一页。

著录项

  • 公开/公告号CN105653201A

    专利类型发明专利

  • 公开/公告日2016-06-08

    原文格式PDF

  • 申请/专利权人 旺宏电子股份有限公司;

    申请/专利号CN201510788091.4

  • 申请日2015-11-16

  • 分类号G06F3/06(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人任岩

  • 地址 中国台湾新竹科学工业园区力行路16号

  • 入库时间 2023-12-18 15:42:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-02

    授权

    授权

  • 2016-07-06

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20151116

    实质审查的生效

  • 2016-06-08

    公开

    公开

说明书

技术领域

本发明是有关于一种读取平均化方法及使用读取平均化方法的存储 器装置。

背景技术

存储器装置的读取操作是读取存储器装置的存储器区块的一页。如果 在存储器区块的一页上执行密集的读取操作,即使存储器装置的其他页从 未被读取过,其他页可能会受到密集读取操作的读取干扰。并且,存储器 装置的尺寸在近年来愈来愈小。随着存储器装置的尺寸不断缩小,存储器 装置的可靠度同时也愈来愈差,并且较小的存储器装置只能支持小量的读 取干扰。因此,存储器装置中的数据需要藉由频繁地移动有效数据来更新 被干扰的数据,但却造成大量的擦除和写入操作而严重的降低系统效能。 因此,有必要提供一种方法处理读取干扰。

发明内容

根据本发明的一实施例,提供一种读取平均化方法及使用读取平均化 方法的存储器装置。

依据本发明,提供一种用于存储器装置的读取平均化方法。存储器装 置包含第一存储器区块及至少一第二存储器区块。此方法包含以下步骤。 判断第一存储器区块的区块读取计数是否大于或等于第一阈值。当第一存 储器区块的区块读取计数大于或等于第一阈值时,侦测第一存储器区块的 页的读取计数。判断第一存储器区块的区块读取计数是否大于或等于第二 阈值。当第一存储器区块的区块读取计数大于或等于第二阈值时,将第一 存储器区块的其中一页的数据移动到第二存储器区块的一页。

依据本发明,提供一种使用读取平均化方法的存储器装置,包含第一 存储器区块及至少一第二存储器区块。第一存储器区块包含多个页面以储 存数据。第二存储器区块包含多个页面以储存数据。存储器装置用以判断 第一存储器区块的区块读取计数是否大于或等于第一阈值。存储器装置用 以在第一存储器区块的区块读取计数大于或等于第一阈值时,侦测第一存 储器区块的页的读取计数。存储器装置用以判断第一存储器区块的区块读 取计数是否大于或等于第二阈值。存储器装置更用以在第一存储器区块的 区块读取计数大于或等于第二阈值时,将第一存储器区块的其中一页的数 据移动到第二存储器区块的一页。

依据本发明,提供另一种用于存储器装置的读取平均化方法。存储器 装置包含第一存储器区块及至少一第二存储器区块。此方法包含以下步骤。 判断第一存储器区块的区块读取计数是否大于或等于第一阈值。当第一存 储器区块的区块读取计数大于或等于第一阈值时,使用一细粒的计数器辨 识第一存储器区块中具有最高页读取计数的一页。将第一存储器区块中具 有最高页读取计数的该页的数据移动到第二存储器区块。

附图说明

图1绘示依据本发明第一实施例的用于存储器装置的读取平均化方法 的流程图。

图2绘示依据本发明第二实施例的用于存储器装置的读取平均化方法 的流程图。

图3绘示依据本发明第二实施例的存储器装置及读取平均化方法的示 意图。

图4绘示依据本发明第三实施例的存储器装置及读取平均化方法的示 意图。

图5绘示依据本发明第四实施例的用于存储器装置的读取平均化方法 的流程图。

图6绘示依据本发明第五实施例的用于存储器装置的读取平均化方法 的流程图。

【符号说明】

100、200、500、600:读取平均化方法

110:判断第一存储器区块的一区块读取计数是否大于或等于一第一 阈值

120:侦测第一存储器区块的一页的一页读取计数

130:判断第一存储器区块的区块读取计数是否大于或等于一第二阈 值

140:将第一存储器区块的其中一页的数据移动到第二存储器区块的 一页

212:将第一存储器区块的数据移动到监视区块

214:侦测监视区块的一页的页读取计数

220:判断监视区块的区块读取计数是否大于或等于第二阈值

232:判断监视区块的页读取计数是否大于或等于一第三阈值

234:将监视区块中页读取计数大于或等于第三阈值的页辨识为读取 热数据

236:将每一读取热数据分配到不同的庇护区块

222:判断是否所有存储器区块的区块读取计数都小于第一阈值

224:辨识具有最高区块读取计数的存储器区块

226:将具有最高区块读取计数的存储器区块的有效页的数据移动到 监视区块

242:将监视区块中页读取计数小于第三阈值的页辨识为读取冷数据

244:将这些读取冷数据移动到其他存储器区块的一页

300、400:存储器装置

310:多个存储器区块

320:多个监视区块

330:多个庇护区块

B1、B2、B3、Bn:存储器区块

MB1、MB2、MBm:监视区块

SB1、SB2、SB1:庇护区块

510:使用者读取一页

520:判断此页是否位于监视区块

540:判断此页是否位于庇护区块

542:增加页读取计数

544:判断庇护区块页读取计数是否大于或等于区块读取阈值

546:更新此庇护区块中所有有效页或将这些有效页分配到其他庇护 区块

530:增加页读取计数

532:判断监视读取计数是否大于或等于区块读取阈值

534:根据页读取计数是否大于或等于页读取阈值辨识读取热数据及 读取冷数据

536:将读取热数据分配到庇护区块并将读取冷数据分配到其他存储 器区块

550:增加区块读取计数

552:判断此区块的区块读取计数是否大于或等于区块读取阈值

554:将此区块的所有有效页移动到监视区块

610:判断一存储器区块的一区块读取计数是否大于或等于一第一阈 值

620:判断所有存储器区块的区块读取计数是否都小于第一阈值

622:辨识具有最高区块读取计数的存储器区块

624:使用一细粒的计数器辨识具有最高区块读取计数的存储器区块 中具有最高页读取计数的一页

626:将具有最高区块读取计数的存储器区块中具有最高页读取计数 的该页的数据移动到第二存储器区块

612:使用一细粒的计数器将此存储器区块中具有最高页读取计数的 一页辨识为读取热数据

614:将读取热数据移动到第二存储器区块

具体实施方式

在本发明中,提供一种存储器装置及读取平均化方法以避免在同一存 储器区块上的密集读取操作造成的读取干扰。在本文中,参照图式描述本 发明的多个实施例的相关设置及流程。然而,本发明不限于此,图式中相 同的参考符号用来表示相同或相似的元件。

图1绘示依据本发明第一实施例的用于存储器装置的读取平均化方法 的流程图。存储器装置包含第一存储器区块及第二存储器区块。

请参照图1,读取平均化方法100包含以下步骤。首先,执行步骤110, 判断第一存储器区块的一区块读取计数是否大于或等于一第一阈值。如果 第一存储器区块的区块读取计数大于或等于第一阈值时,则执行步骤120, 侦测第一存储器区块的一页的页读取计数。接着,执行步骤130,判断第 一存储器区块的区块读取计数是否大于或等于一第二阈值。如果第一存储 器区块的区块读取计数大于或等于一第二阈值,则执行步骤140,将第一 存储器区块的其中一页的数据移动到第二存储器区块的一页。之后结束此 读取平均化方法。各步骤的详细描述说明如下。

在步骤110中,第一存储器区块有一粗粒计数器(coarse-grainedcounter) 以计算第一存储器区块的区块读取计数,第一存储器区块的区块读取计数 代表第一存储器区块的读取次数。举例来说,当第一存储器区块的区块读 取计数大于或等于区块读取阈值时,例如1000次,第一存储器区块的一 页的数据可能会受到第一存储器区块的其他页造成的读取干扰而需要被 更新。因此,在步骤110中,辨识大于或等于第一阈值(例如500次)的 第一存储器区块作为读取热存储器区块(readhotmemoryblock)。

在步骤120中,第一存储器区块可包含至少一细粒计数器 (fine-grainedcounter)以计算第一存储器区块的至少一页的页读取计数, 且第一存储器区块的至少一页的页读取计数代表第一存储器区块的至少 一页的读取次数。第二阈值为区块读取阈值(BlockReadThreshold,BRT)。 而在步骤130中,判断第一存储器区块是否具有大于或等于区块读取阈值, 例如大于1000次的区块读取计数。如果结果为是,则第一存储器区块的 数据可能会受到读取干扰而需要被更新。

而最后在步骤140中,第一存储器区块的其中一页的数据被移动到第 二存储器区块的一页。举例来说,将第一存储器区块中具有大于或等于第 三阈值的页读取计数的该页辨识为读取热数据(readhotdata)。第三阈值 为一页读取阈值(PageReadThreshold,PRT),例如500次。在其他实施 例中,第一存储器区块中具有一最高页读取计数的该页的数据可被辨识为 读取热数据。因此,从第一存储器区块中取出读取热数据并移动到第二存 储器区块以避免在读取热数据造成的读取干扰。应当注意的是,区块读取 阈值及页读取阈值可视实际应用而设定。

请参照图2,提供本发明第二实施例的用于存储器装置的读取平均化 方法200。在第二实施例中,存储器装置包含更多存储器区块、至少一监 视区块及至少一庇护区块。

首先,执行步骤110,判断第一存储器区块的区块读取计数是否大于 或等于第一阈值,即区块读取阈值。如果第一存储器区块的区块读取计数 大于或等于第一阈值(BRT)时,则执行步骤212,将第一存储器区块的 数据移动到监视区块。监视区块包含至少一细粒计数器以计算监视区块的 每一页的页读取计数。接着执行步骤214,侦测监视区块的一页的页读取 计数。接下来执行步骤220,判断监视区块的区块读取计数是否大于或等 于第二阈值。第二阈值例如是区块读取阈值或视实际应用而设定。如果监 视区块的区块读取计数大于或等于第二阈值,则执行步骤230以将监视区 块的其中一页的资料移动到庇护区块的一页。在一些实施例中,监视区块 的一些页的数据被移动到一或多个庇护区块,且监视区块的其他页的数据 被移动到其他存储器区块。在另一些实施例中,第一存储器区块包含至少 一细粒计数器以侦测存储器区块的一页的页读取计数而不需要将第一存 储器区块的数据移动到监视区块。

在一些实施例中,步骤230可包含以下步骤。举例来说,如果监视区 块的区块读取计数大于或等于第二阈值,则执行步骤232,判断监视区块 的页读取计数是否大于或等于一第三阈值。接着执行步骤234,将监视区 块中页读取计数大于或等于第三阈值的页辨识为读取热数据。第三阈值可 为页读取阈值(PRT),例如500次。而此读取平均化方法可重复在更多存 储器区块上执行以获得更多读取热数据。最后,执行步骤236,将每一读 取热数据分配到不同的庇护区块。因此,从多个存储器区块中取出多个读 取热数据并移动到不同的庇护区块。而在每一庇护区块中有愈少的读取热 数据,则每一读取热数据在需要被更新前可被读取更多次。在一些实施例 中,如果当庇护区块的区块读取计数大于或等于区块读取阈值,则庇护区 块中的所有页都需要被更新,或者将庇护区块中的所有有效页分配到其他 庇护区块。

具体来说,假设庇护区块包含8页,且庇护区块只包含一读取热数据 A储存在庇护区块的第1页,当区块读取计数达到区块阈值时,读取热数 据A可被复制到同一区块的下一空白页。而如果在这区块中只存有一读取 热数据且其他7页是空白页,则此复制流程可重复8次。换句话说,只有 一读取热数据的庇护区块可支持8倍区块读取阈值的读取次数,也就是此 例中的8000次。

另一方面,假设庇护区块包含8页,且庇护区块包含两个读取热数据 A即B分别储存在庇护区块的第1页及第2页。而每次复制流程会复制这 两个读取热数据A及B到同一区块的下两个空白页。因此,有两个读取 热数据的庇护区块只可支持4倍区块读取阈值的读取次数,也就是4000 次。据此,即使在此庇护区块执行的读取操作的总次数是一样的,例如8000 次,在只有一个热读取数据的第一个例子中,只需要一次擦除操作,而在 有两个热读取数据的第二个例子中,需要两次擦除操作。因此,有较少的 读取热数据的庇护区块可承受较多的读取次数,而有较多的读取热数据的 庇护区块可承受较少的读取次数而具有较低的忍受密集读取操作的能力。

在其他实施例中,如果当监视区块的一页的页读取计数小于第三阈值, 则执行步骤242,将监视区块中页读取计数小于第三阈值的页辨识为读取 冷数据(readcolddata)。最后,执行步骤244,将这些读取冷数据移动到 其他存储器区块的一页。

在一些实施例中,在执行步骤110之后,执行步骤222,判断是否所 有存储器区块的区块读取计数都小于第一阈值。如果所有存储器区块的区 块读取计数都小于第一阈值,也就是说,没有存储器区块达到区块读取阈 值,则执行步骤224,辨识具有最高区块读取计数的存储器区块。接着执 行步骤226,将具有最高区块读取计数的存储器区块的有效页的数据移动 到监视区块。在将具有最高区块读取计数的存储器区块的有效页的数据移 动到监视区块之后,执行步骤214,侦测监视区块的一页的页读取计数。 接着执行上面描述过的辨识热读取数据及移动热读取数据到庇护区块的 其余步骤。

图3绘示依据本发明第二实施例的存储器装置300及读取平均化方法 的示意图。请参照图3,存储器装置300包含多个存储器区块310、多个 监视区块320及多个庇护区块330。每一存储器区块B1、B2、...、Bn各 有一粗粒计数器以计算每一存储器区块的区块读取计数。如图3所示,存 储器区块B1的区块读取计数为980,存储器区块B2的区块读取计数为930, 存储器区块B3的区块读取计数为1000,以此类推。具有大于或等于区块 读取阈值的存储器区块的数据被移动到监视区块。举例来说,假设我们 设定区块读取阈值为1000,而存储器区块B3的区块读取计数等于区块读 取阈值。则存储器区块B3的数据被移动到监视区块MB1。

每一监视区块MB1、MB2、...、MBm都有细粒计数器以计算监视区 块的每一页的页读取计数。如图3所示,每一监视区块MB1、MB2、...、 MBm包含8页,且监视区块MB1的第一页的页读取计数是50,监视区 块MB1的第二页的页读取计数是40,监视区块MB1的第三页的页读取 计数是60,以此类推。监视区块中具有大于或等于页读取阈值的页读取计 数的该页的数据被辨识为读取热数据且需要被移动到庇护区块。举例来说, 假设我们设定页读取阈值为500,而监视区块MB1的第六页的页读取计数 为900大于页读取阈值500。因此,当监视区块MB1区块中的页读取计数 大于第二阈值时,监视区块MB1的第六页的数据被移动到庇护区块SB1。 另一方面,监视区块中具有小于页读取阈值的页读取计数的其他页的数据 被辨识为读取冷数据且读取冷数据被移动到另一存储器区块。藉由将读取 热数据及读取冷数据分开,可完成读取平均化方法。

上述流程可重复执行以找到所有读取热数据。如图3所示,监视区块 MB2的第四页的页读取计数为700,也大于读取阈值500,也因此被辨识 为读取热数据。则监视区块MB2的第四页的数据被移动到庇护区块SB2。 在此实施例中,每一读取热数据被分配到不同的庇护区块SB1、SB2、...、 SB1以使每一庇护区块不要包含太多读取热数据而因此每一读取热数据可 在更新前被读取更多次。

图4绘示依据本发明第三实施例的存储器装置400及读取平均化方法 的示意图。在此实施例中,存储器区块B3有一相等于区块读取阈值BRT 的区块读取计数。如图4所示,存储器区块B3有四个有效页(标示为V) 及四个无效页(标示为I)。相较于移动整个区块的数据,只将存储器区块 B3的有效页的数据移动到监视区块MB3。之后,找到具有大于或等于第 一阈值的另一个存储器区块,并将另一个存储器区块的有效页的数据移动 到监视区块MB3的剩余页。

在此实施例中,只有存储器区块B3具有大于或等于区块阈值BRT的 区块读取计数。因此替代方式是在除了存储器区块B3之外的所有存储器 区块的区块读取计数都小于第一阈值时,辨识除了存储器区块B3之外的 其他存储器区块中有最高区块读取计数的存储器区块。举例来说,除了存 储器区块B3之外存储器区块B1具有最高读取计数980。如图4所示,存 储器区块B1有四个有效页(标示为V)、一个无效页(标示为I)及三个 空白页(标示为F)。则将存储器区块B1的有效页的数据移动到监视区块 MB3的剩余页。之后,判断监视区块MB3的页读取计数是否大于或等于 页读取阈值以辨识读取热数据,并将读取热数据移动到庇护区块,在一些 实施例中,将监视区块MB3中具有最高页读取计数的该页辨识为读取热 数据。如图4所示,监视区块MB3的第6页的页读取计数为700,大于页 读取阈值(例如500),因此被辨识为读取热数据而被移动到庇护区块SB1, 而监视区块MB3的其他页的页读取计数小于读取阈值。因此,监视区块 MB3的其他页被辨识为读取冷数据而被移动到其他存储器区块。

图5绘示依据本发明第四实施例的用于存储器装置的读取平均化方法 500的流程图。读取平均化方法500可应用在如图3或图4所示的存储器 装置。读取平均化方法500由步骤510开始,在步骤510中,使用者读取 一页。之后,在步骤520中,判断此页是否位于监视区块。如果此页位于 监视区块,则在步骤530中,增加页读取计数。之后在步骤532中,判断 监视读取计数是否大于或等于区块读取阈值。如果结果为是,则执行步骤 534,根据页读取计数是否大于或等于页读取阈值辨识读取热数据及读取 冷数据。接着执行步骤536,将读取热数据分配到庇护区块并将读取冷数 据分配到其他存储器区块。

如果此页并不是位于监视区块,则执行步骤540,判断此页是否位于 庇护区块。如果结果为是,则在步骤542中增加页读取计数。接着在步骤 544中,判断庇护区块页读取计数是否大于或等于区块读取阈值。如果结 果为是,则执行步骤546,更新此庇护区块中所有有效页或将这些有效页 分配到其他庇护区块。

另一方面,如果此页也不是位于庇护区块,也就是说,此页是位于一 般存储器区块。则在步骤550中,由于一般存储器区块并未包含细粒计数 器以计算一般存储器区块的每一页的页读取计数,增加此一般存储器区块 的区块读取计数。接着执行步骤552,判断此一般存储器区块的区块读取 计数是否大于或等于区块读取阈值。如果结果为是,则执行步骤554,将 此区块的所有有效页移动到监视区块。上述流程可在每一页被使用者读取 时重复执行。

图6绘示依据本发明第五实施例的用于存储器装置的读取平均化方法 600的流程图。读取平均化方法600可应用在如图3或图4所示的存储器 装置。读取平均化方法600由步骤610开始,在步骤610中,判断一存储 器区块的一区块读取计数是否大于或等于一第一阈值。如果结果为是,则 执行步骤612,使用一细粒计数器将此存储器区块中具有最高页读取计数 的一页辨识为读取热数据。接着执行步骤614,将读取热数据移动到第二 存储器区块。

在一些实施例中,在执行步骤610之后执行步骤620,判断所有存储 器区块的区块读取计数是否都小于第一阈值。如果结果为是,则执行步骤 622,辨识具有最高区块读取计数的存储器区块。接着执行步骤624,使用 一细粒计数器辨识具有最高区块读取计数的存储器区块中具有最高页读 取计数的一页。之后执行步骤626,将具有最高区块读取计数的存储器区 块中具有最高页读取计数的该页的数据移动到第二存储器区块。上述流程 可重复执行直到所有读取热数据都被移动到第二存储器区块为止。

依据上述实施例,提供多个读取平均化方法以辨识读取热数据并移动 读取热数据到其他存储器区块以使一区块有较少的读取热数据,且此区块 可支持较多读取操作以使同一区块的其他页的读取干扰减到最小。并且, 使用上述的读取平均化方法可减少擦除操作的次数而也会减少更新次数。 在一些实施例中,读取热数据尽可能地被平均分配到不同的区块,而因此 使同一区块上的读取热数据和其他有效数据之间的干扰减到最小。

综上所述,虽然本发明已以多个实施例揭露如上,然其并非用以限定 本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神 和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视随附 的权利要求范围所界定的为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号