CN102439572A - 控制缓存映射的方法及缓存系统 - Google Patents
控制缓存映射的方法及缓存系统 Download PDFInfo
- Publication number
- CN102439572A CN102439572A CN2011800024265A CN201180002426A CN102439572A CN 102439572 A CN102439572 A CN 102439572A CN 2011800024265 A CN2011800024265 A CN 2011800024265A CN 201180002426 A CN201180002426 A CN 201180002426A CN 102439572 A CN102439572 A CN 102439572A
- Authority
- CN
- China
- Prior art keywords
- data block
- target data
- buffer memory
- storage medium
- bottom storage
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013507 mapping Methods 0.000 title abstract description 77
- 239000007853 buffer solution Substances 0.000 title abstract 2
- 230000008859 change Effects 0.000 claims description 42
- 238000013508 migration Methods 0.000 claims description 27
- 230000005012 migration Effects 0.000 claims description 27
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000003760 hair shine Effects 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及控制缓存映射的方法及缓存系统,其中,该方法包括:以预定的时间周期更换底层存储介质中至少一个数据块所映射到底层存储介质的缓存中的目标数据块,其中,底层存储介质中一个或多个数据块只映射到缓存中的一个目标数据块,底层存储介质的缓存包括闪存介质,所更换的缓存中的目标数据块包括当前缓存中具有最大擦写次数的目标数据块。利用该技术方案可以优化闪存介质的使用寿命。
Description
技术领域
本发明涉及缓存系统的缓存映射技术,特别涉及一种闪存介质作为缓存时控制缓存映射的方法及一种缓存系统。
背景技术
闪存(Flash Memory)介质是一种长寿命的非易失性存储器,其在断电情况下仍能保持所存储的数据信息。现有技术中常利用闪存介质作为底层存储介质如硬盘、硬盘阵列等传统磁盘存储系统的缓存,以缓解受底层存储介质输入输出性能不佳所带来的性能约束。
通常,利用闪存介质作为缓存时,在缓存和底层存储介质之间采用的映射策略是组相联映射。在组相联映射中,按照作为映射目标的缓存的大小,将作为映射源的底层存储介质划分成多个组,其中每个组的容量大小等于缓存的大小。根据缓存所包含的目标数据块的数目及大小,将底层存储介质的每个组划分成相同数目的区域(即数据块),每个区域的大小与缓存中的一个目标数据块的大小一致。在底层存储介质的一个组中,不同的数据块与缓存中的不同的目标数据块相对应。在底层存储介质的不同组中,对应位置的数据块映射到缓存中相同的目标数据块。
图1示出了组相联映射的一个示例。该例中,作为缓存的闪存介质划分成从目标数据块0到目标数据块3的4个目标数据块,作为映射源的硬盘包括两个组,每个组划分成与缓存的4个目标数据块相对应的数据块,并且硬盘中的每一个数据块的大小与闪存介质中的每一个目标数据块的大小一致。该例中,硬盘与缓存的组相联映射关系为:硬盘的第一组(包括数据块0-数据块3)中的数据块0与第二组(包括数据块4-数据块7)中的数据块4映射到闪存介质中的目标数据块0,硬盘的第一组中的数据块1与第二组中的数据块5映射到闪存介质中的目标数据块1,硬盘的第一组中的数据块2与第二组中的数据块6映射到闪存介质中的目标数据块2,硬盘的第一组中的数据块3与第二组中的数据块7映射到闪存介质中的目标数据块3。按照该映射关系,数据块0和数据块4中的数据缓存到目标数据块0中,数据块1和数据块5中的数据缓存到目标数据块1中,数据块2与数据块6中的数据缓存到目标数据块2中,数据块3与数据块7中的数据缓存到目标数据块3中。
但是,在现有技术中,缓存与底层存储介质之间的映射关系通常是静态的。在系统工作的整个过程中,底层存储介质中的数据块所映射到的缓存中的目标数据块通常是不变的。这样,当闪存介质作为缓存时,对于系统中局部区域数据访问异常频繁的应用场景,系统中频繁访问的数据所映射到的闪存介质的介质区域的擦写次数将过于频繁。由于闪存介质的擦写次数是有限的,这样将导致频繁访问的数据所映射到的闪存介质的介质区域将比其它的区域更快地达到擦写次数的极限,进而导致整个闪存介质不可用。
发明内容
考虑到现有技术的上述缺陷,本发明的实施例提出一种控制缓存映射的方法及一种缓存系统,在缓存与底层存储介质之间采取动态映射策略以使得系统中频繁访问的数据并不是静态地映射到缓存上的某一目标数据块,从而可以优化作为缓存的闪存介质的寿命。
本发明实施例提供一种控制缓存映射的方法,其中,以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块
本发明实施例提供一种控制缓存映射的方法,其中,所述方法包括:
监控底层存储介质的缓存中各目标数据块的擦写次数,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质;
当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及
继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
本发明实施例提供一种缓存系统,包括:底层存储介质;闪存介质,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块;处理器,被配置成:以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
本发明实施例提供一种缓存系统,包括:底层存储介质;闪存介质,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块;处理器,被配置成:监控所述缓存中各目标数据块的擦写次数;当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及
继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
本发明实施例的方法和装置,通过更换底层存储介质中包括与当前具有最大擦写次数的目标数据块所对应的数据块在内的至少一个数据块所映射到的缓存中的目标数据块,实现了对充当缓存的闪存介质的使用寿命的优化。
附图说明
本发明的目的、特点、特征和优点通过以下结合附图的详细描述将变得显而易见。其中:
图1示出了组相联映射的一个示例;
图2示出了根据本发明实施例一的控制缓存映射的方法的流程示意图;
图3-图5示出了在利用本发明实施例一的方法控制缓存映射的一个实例中,不同切换周期中的映射关系示意图;
图6-图11示出了在利用本发明实施例一的方法控制缓存映射的另一个实例中,不同切换周期中的映射关系示意图;
图12示出了根据本发明实施例二的控制缓存映射的方法的流程示意图;以及
图13-图14示出了在利用本发明实施例二的方法控制缓存映射的一个实例中的映射关系示意图;
图15示出了按照本发明实施例的缓存系统。
具体实施方式
本发明的实施例提供一种控制缓存映射的方法及一种缓存系统,其中,所述方法包括:以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
下面将结合附图详细描述本发明的各个实施例。
图2示出了根据本发明实施例一的控制缓存映射的方法的流程示意图。本实施例中,闪存介质作为缓存,底层存储介质示例性地为硬盘,底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块。其中,闪存介质包括固态磁盘即SSD(solid state disk)磁盘。
如图2所示出的,该实施例一的控制缓存映射的方法包括如下步骤:
在步骤S201,根据预先设置的切换周期T,触发计时器开始计时。
在步骤S202,在一个切换循环的每一个切换周期内,更换硬盘中的至少一个数据块所映射到的缓存中的目标数据块,以使得在一个切换循环后,缓存中的各目标数据块的擦写次数相接近,其中,一个切换循环所包括的切换周期的数目不小于缓存所包含的目标数据块的数目N。
图1、图3-图5示出了利用本发明实施例一的方法控制缓存映射的一个具体实例。该实例中在一个切换循环的每一个切换周期内,更换硬盘中的每一个数据块所映射到的缓存中的目标数据块,使得硬盘中的每一个数据块在一个切换循环的不同切换周期内映射到缓存中的不同目标数据块,其中,一个切换循环包括的切换周期的数目等于缓存所包含的目标数据块的数目N。在该实例中,示例性但不作为限制地,缓存具有4个目标数据块,硬盘包括两个组,每个组划分成与缓存的4个目标数据块相对应的4个数据块,并且硬盘中的每一个数据块的大小与闪存介质中的每一个目标数据块的大小一致。
如图1、图3-图5所示出的,本实例采用周期性轮转动态切换策略,一个切换循环中包含的切换周期的数目等于缓存中所包含的目标数据块的数目N,N为大于0的整数。该例中N=4。在本实例中,每经过一个切换周期,切换硬盘中的每一个数据块所对应的映射目标。硬盘中的各数据块在不同的切换周期内所映射到的目标数据块不同。
具体地,该实例在初始时采用图1所示出的映射关系。如图1所示出的,在该例中,在初始时,硬盘与缓存之间的映射关系为:硬盘的数据块0和数据块4映射到缓存的目标数据块0,硬盘的数据块1和数据块5映射到缓存的目标数据块1,硬盘的数据块2和数据块6映射到缓存的目标数据块2,硬盘的数据块3和数据块7映射到缓存的目标数据块3。上述数字为对数据块或目标数据块的编号。
在第一切换周期(简称第一周期)到达时,分别将闪存介质中各目标数据块中所缓存的数据迁移至其它的目标数据块中。该例中,示例性地,将闪存介质中目标数据块0中当前缓存的有效数据迁移至目标数据块1,将目标数据块1中当前缓存的有效数据迁移至目标数据块2,将目标数据块2中当前缓存的有效数据迁移至目标数据块3,将目标数据块3中当前缓存的有效数据迁移至目标数据块0。在缓存中的数据迁移后,根据目标数据块中数据的迁移,相应地更换硬盘中每一个数据块所映射到的目标数据块。经过该次迁移后,修改得到的映射关系如图3所示出的。
在第二周期到达时,同样将闪存介质中目标数据块0中当前缓存的有效数据迁移至目标数据块1,将目标数据块1中当前缓存的有效数据迁移至目标数据块2,将目标数据块2中当前缓存的有效数据迁移至目标数据块3,将目标数据块3中当前缓存的有效数据迁移至目标数据块0。经过该次迁移后,根据该次迁移修改缓存与硬盘的映射关系,修改后的映射关系如图4所示出的。
在第三周期到达时,同样将闪存介质中目标数据块0中当前缓存的有效数据迁移至目标数据块1,将目标数据块1中当前缓存的有效数据迁移至目标数据块2,将目标数据块2中当前缓存的有效数据迁移至目标数据块3,将目标数据块3中当前缓存的有效数据迁移至目标数据块0。经过该次迁移后,根据该次迁移修改缓存与硬盘的映射关系,修改后的映射关系,修改得到的映射关系如图5所示出的。在第四周期到达时,同样进行上述的迁移后,相应地修改映射关系,修改得到的映射关系如图1所示出的,即回到了在第一周期期间的映射关系。这样一个切换循环结束。然后,可以继续下一个切换循环的切换过程。
在本实施例中,在进行目标数据块中缓存数据的迁移后,可以通过更新存储在闪存介质和/或内存中的缓存元数据来进行所映射的目标数据块的更换。
在硬盘中局部区域如某一数据块访问频繁的场景下,在一个切换循环的各切换周期中,硬盘中访问频繁的数据块分别映射到闪存介质中不同的目标数据块,从而使得硬盘中访问频繁的局域不会静态地一直只映射到某一固定的目标数据块,从而可以延长及优化闪存介质的寿命。并且,在经过一个如上文所述的轮转切换循环后,闪存介质中的各目标数据块的擦除次数接近,并且接近于平均值,各目标数据块的擦除次数分布比较均匀,从而可以使得闪存介质的寿命最优化。
本实施例中,在进行映射关系的动态切换时,按照缓存中目标数据块的编号顺序,以轮转的方式将所述缓存中每一目标数据块的数据分别迁移至编号与其相邻的目标数据块中。上述例子只是示例性地,其它的轮转方式也适用。举例说明,在到达切换周期时,可以按照:目标数据块0中当前缓存的数据迁移至目标数据块3,目标数据块3中当前缓存的数据迁移至目标数据块2,目标数据块2中当前缓存的数据迁移至目标数据块1,目标数据块1中当前缓存的数据迁移至目标数据块0的顺序来实现在切换周期到达时,对缓存中各目标数据块中缓存的数据的迁移,然后相应地更换底层存储介质如硬盘中的每一个数据块所映射到的目标数据块,硬盘和缓存之间的映射关系相应更换。
当然,除了上文所述的轮转方式外,其它的更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块的方式也适用,只要能使得在一个切换循环后,所述缓存中的各目标数据块的擦写次数相接近就可以了。所述的接近可以是各目标数据块的擦写次数均接近平均值,具体地,可以是各目标数据块的擦写次数的差异小于预定的擦写次数差异阈值。该差异阈值可以根据需要或具体的应用场景来设置。
采用周期性轮转动态切换策略时,用户可根据应用场景灵活设置切换周期,其切换循环较短,但是,每次切换映射目标时,缓存中的所有有效数据都会迁移,因而周期性轮转动态切换策略更适用于小容量的缓存。
图6-图11示出了利用根据本发明实施例一的方法控制缓存映射的另一实例。在该例中,采样周期性排列动态切换映射的策略来更换硬盘中的每一个数据块所映射到的缓存中的目标数据块,以使得在一个切换循环后,缓存中的各目标数据块的擦写次数相接近。在该例中,一个切换循环中包含的切换周期的数目等于N乘以(N-1),其中N为缓存中所包含的目标数据块的数目,N为大于0的整数。示例性地,该例中N=3,所以该例中一个切换循环包括6个切换周期。
该例中,闪存介质作为缓存,底层存储介质示例性地为硬盘,示例性但不作为限制地,缓存具有3个目标数据块,硬盘包括两个组,每个组划分成与缓存的3个目标数据块相对应的3个数据块,并且硬盘中的每一个数据块的大小与闪存介质中的每一个目标数据块的大小一致。
在该例中,在一个切换循环的每一个切换周期内,将缓存中当前具有最大擦写次数的目标数据块中缓存的数据与所述缓存中除该具有最大擦写次数之外的其它目标数据块中、在当前的切换循环中其内数据进行过最少次数的交换、并且与在当前的切换循环中上一个切换周期中与该当前具有最大擦写次数的目标数据块进行交换的目标数据块不同的任一个目标数据块中缓存的数据相交换,即数据相互迁移,并且根据目标数据块中缓存数据的迁移,相应地更换所对应的硬盘中的数据块所映射到的目标数据块。其中,缓存中各目标数据块都有N-1次机会成为具有最大擦写次数的目标数据块,也就是说在一个切换循环中各目标数据块在不同的N-1个周期内为最大擦写次数的目标数据块即与访问最频繁的数据块相对应。
示例性地,假定在该切换循环开始时,闪存介质中的目标数据块0具有最大的擦写次数,这表明硬盘中当前映射到目标数据块0的数据块0和数据块3的访问最频繁。除了目标数据块0的目标数据块是目标数据块1和目标数据块2。如图6所示出的,该例中,在第一周期到达之前硬盘与缓存之间的映射关系为:硬盘的数据块0和数据块3映射到缓存的目标数据块0,硬盘的数据块1和数据块4映射到缓存的目标数据块1,硬盘的数据块2和数据块5映射到缓存的目标数据块2。
该例中,示例性地,在第一周期到达时,将闪存介质中目标数据块0中缓存的有效数据迁移至目标数据块1,将目标数据块1中当前缓存的有效数据迁移至目标数据块0。在缓存中的数据迁移后,根据目标数据块中数据的迁移,相应地更换硬盘中数据块0和数据块3所映射到的缓存中的目标数据块以及数据块1和数据块4所映射到的缓存中的目标数据块。经过该次迁移后,修改得到的映射关系如图7所示出的,此时访问最频繁的数据块0和数据块3映射到目标数据块1。
在第二周期到达时,将闪存介质中当前具有最大擦写次数的目标数据块1中缓存的有效数据迁移至目标数据块2,将目标数据块2中当前缓存的有效数据迁移至目标数据块1,在缓存中的数据迁移后,根据目标数据块中数据的迁移,相应地更换硬盘中数据块0和数据块3以及数据块2和数据块5所映射到的缓存中的目标数据块。经过该次迁移后,修改得到的映射关系如图8所示出的。此时,硬盘中访问最频繁的数据块0和数据块3映射到了目标数据块2。
在第三周期到达时,将闪存介质中当前具有最大擦写次数的目标数据块2中缓存的有效数据迁移至目标数据块0,将目标数据块0中当前缓存的有效数据迁移至目标数据块2,在缓存中的数据迁移后,根据目标数据块中数据的迁移。经过该次迁移后,修改得到的映射关系如图9所示出的。此时,硬盘中访问最频繁的数据块0和数据块3映射到了目标数据块0。
在第四周期到达时,将闪存介质中当前具有最大擦写次数的目标数据块0中缓存的有效数据迁移至目标数据块1,将目标数据块1中当前缓存的有效数据迁移至目标数据块0,在缓存中的数据迁移后,根据目标数据块中数据的迁移。经过该次迁移后,修改得到的映射关系如图10所示出的。此时,硬盘中访问最频繁的数据块0和数据块3映射到了目标数据块1。
在第五周期到达时,将闪存介质中当前具有最大擦写次数的目标数据块1中缓存的有效数据迁移至目标数据块2,将目标数据块2中当前缓存的有效数据迁移至目标数据块1,在缓存中的数据迁移后,根据目标数据块中数据的迁移。经过该次迁移后,修改得到的映射关系如图11所示出的。此时,硬盘中访问最频繁的数据块0和数据块3映射到了目标数据块2。
在第六周期到达时,将闪存介质中当前具有最大擦写次数的目标数据块2中缓存的有效数据迁移至目标数据块0,将目标数据块0中当前缓存的有效数据迁移至目标数据块2,在缓存中的数据迁移后,根据目标数据块中数据的迁移。经过该次迁移后,修改得到的映射关系回到如图6所示出的。此时,一次切换循环结束,从图6开始,按照图6-图11的切换顺序继续进行下一个切换循环。
该例中,在到达每一个周期时,当前具有最大擦写次数的目标数据块即当前访问最频繁的数据块所映射到的目标数据块是按照目标数据块的编号的顺序来选择切换目标的。在其它实施例中,当目标数据块的数目超过3个时可以按照也可以不按照目标数据块的编号的顺序来选择切换目标,只需该切换目标是在当前的切换循环中其内数据与其它目标数据块进行过最少次数的交换、并且与在当前切换循环的上一次切换周期中当前具有最大擦写次数的目标数据块刚进行切换的目标数据块不同的任一个目标数据块。
在本实施例中,在进行目标数据块中缓存数据的迁移后,可以通过更新存储在闪存介质和/或内存中的缓存元数据来进行所映射的目标数据块的更换。
在硬盘中局部区域如某一数据块访问频繁的场景下,在一个切换循环的各切换周期中,硬盘中访问频繁的数据块分别映射到闪存介质中不同的目标数据块,从而使得硬盘中访问频繁的局域不会一直只映射到某一固定的目标数据块,从而可以延长及优化闪存介质的寿命。并且,在经过一个如上文所述的周期性排列切换循环后,闪存介质中的各目标数据块的擦除次数接近,并且接近于平均值,各目标数据块的擦除次数分布比较均匀,从而可以使得闪存介质的寿命最优化。并且,采用本实施例的周期性排列动态切换映射策略,每次切换映射目标时,仅仅迁移缓存中的两个目标数据块中的有效数据,不会对性能产生严重的影响,可以适用于各种尺寸的缓存。
上文所示出的底层存储介质与缓存之间的各周期性动态映射切换方法,适用于业务呈现周期性规律的应用场景,尤其适用于业务呈现周期性规律且系统访问最为频繁的数据在硬盘上存储位置固定的场景。
本发明的实施例还提供一种控制缓存映射的方案,该方案包括:监控底层存储介质的缓存中各目标数据块的擦写次数,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质;当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
图12示出了根据本发明实施例二的控制缓存映射的方法的流程示意图。本实施例中,闪存介质作为缓存,底层存储介质示例性地为硬盘,示例性但不作为限制地,缓存具有4个目标数据块,硬盘包括两个组,每个组划分成与缓存的4个目标数据块相对应的4个数据块,并且硬盘中的每一个数据块的大小与闪存介质中的每一个目标数据块的大小一致。
如图12所示出的,本实施例的控制缓存映射的方法包括:
在步骤S1201中,监控缓存中各目标数据块的擦写次数,并记录。
在步骤S1202中,当缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,将具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间缓存的数据进行交换。
在步骤S1203中,根据对目标数据块所做的交换,相应地更换底层存储介质中当前映射至具有最大擦写次数的目标数据块的所有数据块和当前映射至具有最小擦写次数的目标数据块的所有数据块所映射到的缓存中的目标数据块。具体地,即将底层存储介质中当前映射至具有最大擦写次数的目标数据块的所有数据块更换为映射至当前具有最小擦写次数的目标数据块,而将底层存储介质中当前映射至具有最小擦写次数的目标数据块的所有数据块更换为映射至当前具有最大擦写次数的目标数据块。具体地,可以通过更改缓存元数据来改变硬盘中的数据块和缓存中的目标数据块的映射关系。
在步骤S1204中,在对硬盘与缓存之间的映射进行上述改变后,将所记录的所述缓存的各目标数据块的擦写次数清零。然后回到步骤S1201,继续监控并记录在经过上述映射改变之后所产生的各目标数据块的擦写次数,并在满足条件时执行步骤S1203-S1204。示例性地,可以利用计数器来记录各目标数据块的擦写次数。在每次映射改变后,将计数器清零,然后重写计数,记录映射改变后的产生的擦写次数。
图1、图13-图14示出了利用本发明实施例二的方法来控制缓存映射的一个具体实例。在该例中,假定在初始时硬盘与缓存之间采用图1所示的映射关系。如图1所示出的,在初始时,硬盘与缓存的映射关系为:硬盘的数据块0和数据块4映射到缓存的目标数据块0,硬盘的数据块1和数据块5映射到缓存的目标数据块1,硬盘的数据块2和数据块6映射到缓存的目标数据块2,硬盘的数据块3和数据块7映射到缓存的目标数据块3。监控缓存中各目标数据块的擦写次数。
假定当前目标数据块0具有最大的擦写次数,目标数据块1具有最小的擦写次数。随着数据缓存的进行,监控并记录各目标数据块的擦写次数。当确定出目标数据块0与目标数据块1的擦写次数之差达到擦写阈值S时,将具有最大擦写次数的目标数据块0与具有最小擦写次数的目标数据块1之间缓存的数据进行交换,并相应地将硬盘中当前映射至目标数据块0的所有数据块(该例中为数据块0和数据块4)更换为映射至目标数据块1,而将当前映射至目标数据块1的所有数据块(该例中为数据块1和数据块5)更换为映射至目标数据块0。改变后的映射关系如图13中所示出的。然后将缓存中的各目标数据块的擦写次数清零,并继续监控缓存中的各目标数据块在进行映射改变后所产生的擦写次数。
在该例中在进行上次交换后,随着数据缓存的进行,假定目标数据块3的擦写次数变成最小,目标数据块2的擦写次数变成最大,当目标数据块2的擦写次数与目标数据块3的擦写次数之差达到擦写阈值S时,将具有最大擦写次数的目标数据块2与具有最小擦写次数的目标数据块3之间缓存的数据进行交换,并相应地将硬盘中当前映射至目标数据块2的所有数据块(该例中为数据块2和数据块6)更换为映射至目标数据块3,而将当前映射至目标数据块3的所有数据块(该例中为数据块3和数据块7)更换为映射至目标数据块2。改变后的映射关系如图14所示。然后,将缓存中的各目标数据块的擦写次数清零,并继续监控缓存中各目标数据块在映射改变后产生的擦写次数,并在具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值S时,对硬盘与缓存之间的映射作出上文所示出的类似的更换。
利用本实施例可以保证闪存介质中的目标数据块及擦除块的最大擦写次数和最小擦写次数的差距可控,使得各个目标数据块的擦写次数接近平均值。并且通过设置擦写阈值S可以控制闪存介质中目标数据块擦写次数的方差。本实施例尤其适用于业务不呈现周期性现象或周期性现象不明显的应用场景。
在本发明实施例的实现中,可以利用替换次数来代替擦写次数,通过监控并记录目标数据块的替换次数来进行动态映射切换。如本领域技术人员所理解的,在缓存中,把数据换出并重新写入其它数据的操作叫做缓存的替换。
在具体应用中,用户可以根据实际的应用场景,选择启用上文所示出的各动态映射策略,并在不需要的时候关闭动态映射策略。进而,在选择动态映射策略后,用户还可根据实际的需要通过相应的接口模块设置相应的参数,如切换周期、切换循环和/或擦写阈值等。在未选择动态切换策略时,用户可以使用默认的映射策略,如可以是直接映射、全相联映射、组相联映射等。
本领域技术人员应当理解,除了上文所示出的切换方法外,还可以有利用其它的切换顺序的映射切换方法,只要该切换方法能使得底层存储介质中访问频繁的数据块中的数据不是一直只对应某一个固定的缓存目标数据块,就可以使得作为缓存的闪存介质的某一目标数据块不是很快地达到使用极限,从而可以延长闪存介质的寿命。
本领域技术人员应当理解,当切换方法使得缓存中的各目标数据块的擦写次数相接近如趋于平均时,可以最大化闪存介质的寿命。
现在参考图15,其示出了按照本发明实施例的缓存系统。
如图15所示,本发明实施例的缓存系统1500包括:底层存储介质1510;闪存介质1520,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块;处理器1530,被配置成:以预定的时间周期更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
其中,缓存系统中所述处理器还可以进一步被配置成:在一个切换循环的每一个切换周期内,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,以使得在一个切换循环后,所述缓存中的各目标数据块的擦写次数相接近,其中,一个切换循环所包括的切换周期的数目不小于所述缓存所包含的目标数据块的数目N。
其中,缓存系统中所述处理器还可以进一步被配置成:在一个切换循环的每一个切换周期内,更换所述底层存储介质中的每一个数据块所映射到的所述缓存中的目标数据块,使得所述底层存储介质中的每一个数据块在一个切换循环的不同切换周期内映射到所述缓存中的不同目标数据块;其中,一个切换循环包括的切换周期的数目等于所述缓存所包含的目标数据块的数目。
其中,缓存系统中所述处理器还可以进一步被配置成:在一个切换循环的每一个切换周期内,按照所述缓存中目标数据块的编号顺序,以轮转的方式将所述缓存中每一目标数据块的数据分别迁移至编号与其相邻的目标数据块中,并根据目标数据块中数据的迁移,相应地更换所述底层存储介质中每一个数据块所映射到的目标数据块。
其中,缓存系统中所述处理器还可以进一步被配置成:在一个切换循环的每一个切换周期内,将所述缓存中当前具有最大擦写次数的目标数据块中缓存的数据与所述缓存中除该具有最大擦写次数之外的其它目标数据块中、在当前的切换循环中其内数据进行过最少次数的交换、并且与在当前的切换循环的上一个切换周期中与该当前具有最大擦写次数的目标数据块进行交换的目标数据块不同的任一个目标数据块中缓存的数据相交换,并且相应地更换所对应的所述底层存储介质中的数据块所映射到的目标数据块;其中,所述一个切换循环包含N乘以(N-1)个切换周期,在所述一个切换循环中,所述缓存的各目标数据块在不同的N-1个切换周期内为所述缓存中具有最大擦写次数的目标数据块。
本发明实施例还提供了一种缓存系统,该存储系统包括:底层存储介质;闪存介质,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块;处理器,被配置成:监控所述缓存中各目标数据块的擦写次数;当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
其中,缓存系统中所述处理器还可以进一步被配置成:将所述具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间缓存的数据进行交换,并相应地将所述底层存储介质中当前映射至所述具有最大擦写次数的目标数据块的所有数据块更换为映射至所述具有最小擦写次数的目标数据块,而将所述底层存储介质中当前映射至所述具有最小擦写次数的目标数据块的所有数据块更换为映射至所述具有最大擦写次数的目标数据块。
本领域技术人员应当理解,可以利用软件、硬件或者软硬件结合的方式来实现装置1500中处理器的功能。
本发明实施例还提供机器可读存储介质,其存储有机器可执行指令,当该机器可执行指令被执行时使得机器实施以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
其中,该方法还可以包括以下步骤:在一个切换循环的每一个切换周期内,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,以使得在一个切换循环后,所述缓存中的各目标数据块的擦写次数相接近,其中,一个切换循环所包括的切换周期的数目不小于所述缓存所包含的目标数据块的数目N。
其中,该方法还可以包括以下步骤:在一个切换循环的每一个切换周期内,更换所述底层存储介质中的每一个数据块所映射到的所述缓存中的目标数据块,使得所述底层存储介质中的每一个数据块在一个切换循环的不同切换周期内映射到所述缓存中的不同目标数据块;其中,一个切换循环包括的切换周期的数目等于所述缓存所包含的目标数据块的数目N。
其中,上面所描述的发送步骤还可以进一步包括以下步骤:在一个切换循环的每一个切换周期内,按照所述缓存中目标数据块的编号顺序,以轮转的方式将所述缓存中每一目标数据块的数据分别迁移至编号与其相邻的目标数据块中,并根据目标数据块中数据的迁移,相应地更换所述底层存储介质中每一个数据块所映射到的目标数据块。
其中,上面所描述的检测步骤还可以进一步包括以下步骤:在一个切换循环的每一个切换周期内,将所述缓存中当前具有最大擦写次数的目标数据块中缓存的数据与所述缓存中除该具有最大擦写次数之外的其它目标数据块中、在当前的切换循环中其内数据进行过最少次数的交换、并且与在当前的切换循环的上一个切换周期中与该当前具有最大擦写次数的目标数据块进行交换的目标数据块不同的任一个目标数据块中缓存的数据相交换,并且相应地更换所对应的所述底层存储介质中的数据块所映射到的目标数据块;其中,所述一个切换循环包含N乘以(N-1)个切换周期,在一个切换循环中所述缓存中的各目标数据块在不同的N-1个切换周期内为所述缓存中具有最大擦写次数的目标数据块。
本发明实施例还提供机器可读存储介质,其存储有机器可执行指令,其中,当该机器可执行指令被执行时使得机器实施监控底层存储介质的缓存中各目标数据块的擦写次数,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质;当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
其中,该方法还可以包括以下步骤:将所述具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间缓存的数据进行交换,并相应地将所述底层存储介质中当前映射至所述具有最大擦写次数的目标数据块的所有数据块更换为映射至所述具有最小擦写次数的目标数据块,而将所述底层存储介质中当前映射至所述具有最小擦写次数的目标数据块的所有数据块更换为映射至所述具有最大擦写次数的目标数据块。
本领域技术人员应当理解,本发明的各个实施例所公开的方法和装置,可以在不偏离发明实质的情况下做出各种变形和改变,这些变形和改变都应当落入在本发明的保护范围之内。因此,本发明的保护范围由所附的权利要求书来定义。
Claims (15)
1.一种控制缓存映射的方法,其特征在于,所述方法包括:
以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
2.根据权利要求1所述的方法,其特征在于,所述以预定的时间周期更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块的步骤包括:
在一个切换循环的每一个切换周期内,更换所述底层存储介质中至少一个数据块所映射到的所述缓存中的目标数据块,以使得在一个切换循环后,所述缓存中的各目标数据块的擦写次数相接近,其中,一个切换循环所包括的切换周期的数目不小于所述缓存所包含的目标数据块的数目N。
3.根据权利要求1所述的方法,其特征在于,所述以预定的时间周期更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块的步骤包括:
在一个切换循环的每一个切换周期内,更换所述底层存储介质中的每一个数据块所映射到的所述缓存中的目标数据块,使得所述底层存储介质中的每一个数据块在一个切换循环的不同切换周期内映射到所述缓存中的不同目标数据块;其中,一个切换循环包括的切换周期的数目等于所述缓存所包含的目标数据块的数目N。
4.根据权利要求3所述的方法,其特征在于,所述在一个切换循环的每一个切换周期内,更换所述底层存储介质中的每一个数据块所映射到的所述缓存中的目标数据块的步骤包括:
在一个切换循环的每一个切换周期内,按照所述缓存中目标数据块的编号顺序,以轮转的方式将所述缓存中每一目标数据块的数据分别迁移至编号与其相邻的目标数据块中,并根据目标数据块中数据的迁移,相应地更换所述底层存储介质中每一个数据块所映射到的目标数据块。
5.根据权利要求1所述的方法,其特征在于,所述以预定的时间周期更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块的步骤包括:
在一个切换循环的每一个切换周期内,将所述缓存中当前具有最大擦写次数的目标数据块中缓存的数据与所述缓存中除该具有最大擦写次数之外的其它目标数据块中、在当前的切换循环中其内数据进行过最少次数的交换、并且与在当前的切换循环的上一个切换周期中与该当前具有最大擦写次数的目标数据块进行交换的目标数据块不同的任一个目标数据块中缓存的数据相交换,并且相应地更换所对应的所述底层存储介质中的数据块所映射到的目标数据块;
其中,所述一个切换循环包含N乘以(N-1)个切换周期,在所述一个切换循环中,所述缓存的各目标数据块在不同的N-1个切换周期内为所述缓存中具有最大擦写次数的目标数据块。
6.一种控制缓存映射的方法,其特征在于,所述方法包括:
监控底层存储介质的缓存中各目标数据块的擦写次数,其中,所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块,所述底层存储介质的缓存包括闪存介质;
当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及
继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
7.根据权利要求6所述的方法,其特征在于,所述更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块的步骤包括:
将所述具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间缓存的数据进行交换,并相应地将所述底层存储介质中当前映射至所述具有最大擦写次数的目标数据块的所有数据块更换为映射至所述具有最小擦写次数的目标数据块,而将所述底层存储介质中当前映射至所述具有最小擦写次数的目标数据块的所有数据块更换为映射至所述具有最大擦写次数的目标数据块。
8.一种缓存系统,其特征在于,包括:
底层存储介质;
闪存介质,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中一个或多个数据块只映射到所述缓存中的一个目标数据块;
处理器,被配置成:
以预定的时间周期更换底层存储介质中至少一个数据块所映射到所述底层存储介质的缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块。
9.根据权利要求8所述的缓存系统,其特征在于,所述处理器进一步被配置成:
在一个切换循环的每一个切换周期内,更换所述底层存储介质中至少一个数据块所映射到的所述缓存中的目标数据块,以使得在一个切换循环后,所述缓存中的各目标数据块的擦写次数相接近,其中,一个切换循环所包括的切换周期的数目不小于所述缓存所包含的目标数据块的数目N。
10.根据权利要求8所述的缓存系统,其特征在于,所述处理器进一步被配置成:
在一个切换循环的每一个切换周期内,更换所述底层存储介质中的每一个数据块所映射到的所述缓存中的目标数据块,使得所述底层存储介质中的每一个数据块在一个切换循环的不同切换周期内映射到所述缓存中的不同目标数据块;其中,一个切换循环包括的切换周期的数目等于所述缓存所包含的目标数据块的数目N。
11.根据权利要求10所述的缓存系统,其特征在于,所述处理器进一步被配置成:
在一个切换循环的每一个切换周期内,按照所述缓存中目标数据块的编号顺序,以轮转的方式将所述缓存中每一目标数据块的数据分别迁移至编号与其相邻的目标数据块中,并根据目标数据块中数据的迁移,相应地更换所述底层存储介质中每一个数据块所映射到的目标数据块。
12.根据权利要求8所述的缓存系统,其特征在于,所述处理器进一步配置成:
在一个切换循环的每一个切换周期内,将所述缓存中当前具有最大擦写次数的目标数据块中缓存的数据与所述缓存中除该具有最大擦写次数之外的其它目标数据块中、在当前的切换循环中其内数据进行过最少次数的交换、并且与在当前的切换循环的上一个切换周期中与该当前具有最大擦写次数的目标数据块进行交换的目标数据块不同的任一个目标数据块中缓存的数据相交换,并且相应地更换所对应的所述底层存储介质中的数据块所映射到的目标数据块;
其中,所述一个切换循环包含N乘以(N-1)个切换周期,在所述一个切换循环中,所述缓存中的各目标数据块中各自在N-1个切换周期内为所述缓存中具有最大擦写次数的目标数据块。
13.一种缓存系统,其特征在于,包括:
底层存储介质;
闪存介质,耦合至所述底层存储介质,用于作为所述底层存储介质的缓存,其中所述底层存储介质中的一个或多个数据块只映射到所述缓存中的一个目标数据块;
处理器,被配置成:
监控所述缓存中各目标数据块的擦写次数;
当所述缓存中具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间的擦写次数之差达到预先设定的擦写阈值时,更换所述底层存储介质中的至少一个数据块所映射到的所述缓存中的目标数据块,所更换的所述缓存中的目标数据块包括当前所述缓存中具有最大擦写次数的目标数据块;以及
继续监控所述缓存中的各目标数据块在进行所述更换后所产生的擦写次数。
14.根据权利要求13所述的缓存系统,其特征在于,所述处理器进一步被配置成:
将所述具有最大擦写次数的目标数据块与具有最小擦写次数的目标数据块之间缓存的数据进行交换,并相应地将所述底层存储介质中当前映射至所述具有最大擦写次数的目标数据块的所有数据块更换为映射至所述具有最小擦写次数的目标数据块,而将所述底层存储介质中当前映射至所述具有最小擦写次数的目标数据块的所有数据块更换为映射至所述具有最大擦写次数的目标数据块。
15.一种机器可读存储介质,其存储机器可执行指令,当所述机器可执行指令被执行时使得机器执行权利要求1-7的任何一个权利要求中的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/081449 WO2012163027A1 (zh) | 2011-10-27 | 2011-10-27 | 控制缓存映射的方法及缓存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102439572A true CN102439572A (zh) | 2012-05-02 |
CN102439572B CN102439572B (zh) | 2014-04-02 |
Family
ID=45986241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180002426.5A Active CN102439572B (zh) | 2011-10-27 | 2011-10-27 | 控制缓存映射的方法及缓存系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20140025875A1 (zh) |
EP (1) | EP2662774A4 (zh) |
KR (1) | KR20140043497A (zh) |
CN (1) | CN102439572B (zh) |
AU (1) | AU2011369945B2 (zh) |
RU (1) | RU2556459C1 (zh) |
WO (1) | WO2012163027A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599708A (zh) * | 2015-01-16 | 2015-05-06 | 珠海格力电器股份有限公司 | 显示器数据存储方法 |
CN106328201A (zh) * | 2015-07-01 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 非易失性存储器擦写控制电路及方法 |
CN107861885A (zh) * | 2017-11-07 | 2018-03-30 | 浪潮软件股份有限公司 | 一种数据传输方法及传输装置 |
CN112799595A (zh) * | 2021-02-02 | 2021-05-14 | 联想(北京)有限公司 | 数据处理方法、设备及存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140097924A (ko) * | 2013-01-30 | 2014-08-07 | 한국전자통신연구원 | 우선 순위를 가지는 이중 캐싱 방법 및 이를 위한 장치 |
US9292451B2 (en) * | 2013-02-19 | 2016-03-22 | Qualcomm Incorporated | Methods and apparatus for intra-set wear-leveling for memories with limited write endurance |
US9348743B2 (en) * | 2013-02-21 | 2016-05-24 | Qualcomm Incorporated | Inter-set wear-leveling for caches with limited write endurance |
CN105426114B (zh) * | 2014-09-23 | 2019-04-19 | 北京联想核芯科技有限公司 | 一种确定硬盘中擦写对象的方法及装置 |
US20170271030A1 (en) * | 2016-03-18 | 2017-09-21 | Alibaba Group Holding Limited | Method and system for using downgraded flash die for cache applications |
US10891201B1 (en) * | 2017-04-27 | 2021-01-12 | EMC IP Holding Company LLC | Dynamic rule based model for long term retention |
CN109445681B (zh) * | 2018-08-27 | 2021-05-11 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865650B1 (en) * | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
CN101034399A (zh) * | 2006-03-07 | 2007-09-12 | 日立系统服务公司 | 半导体闪存的数据管理及控制系统和半导体闪存收容装置 |
CN101122887A (zh) * | 2007-01-17 | 2008-02-13 | 晶天电子(深圳)有限公司 | 一种采用数据区域切换指针缓冲硬盘驱动器的闪存卡 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
EP1713085A1 (en) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
US7069389B2 (en) * | 2003-11-26 | 2006-06-27 | Microsoft Corporation | Lazy flushing of translation lookaside buffers |
JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
KR100843543B1 (ko) * | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
US20080140918A1 (en) * | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US8001318B1 (en) * | 2008-10-28 | 2011-08-16 | Netapp, Inc. | Wear leveling for low-wear areas of low-latency random read memory |
-
2011
- 2011-10-27 AU AU2011369945A patent/AU2011369945B2/en active Active
- 2011-10-27 WO PCT/CN2011/081449 patent/WO2012163027A1/zh active Application Filing
- 2011-10-27 KR KR1020147005543A patent/KR20140043497A/ko active Search and Examination
- 2011-10-27 RU RU2014113342/08A patent/RU2556459C1/ru active
- 2011-10-27 EP EP11866630.4A patent/EP2662774A4/en not_active Ceased
- 2011-10-27 CN CN201180002426.5A patent/CN102439572B/zh active Active
-
2013
- 2013-09-24 US US14/034,817 patent/US20140025875A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865650B1 (en) * | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
CN101034399A (zh) * | 2006-03-07 | 2007-09-12 | 日立系统服务公司 | 半导体闪存的数据管理及控制系统和半导体闪存收容装置 |
CN101122887A (zh) * | 2007-01-17 | 2008-02-13 | 晶天电子(深圳)有限公司 | 一种采用数据区域切换指针缓冲硬盘驱动器的闪存卡 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599708A (zh) * | 2015-01-16 | 2015-05-06 | 珠海格力电器股份有限公司 | 显示器数据存储方法 |
CN106328201A (zh) * | 2015-07-01 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 非易失性存储器擦写控制电路及方法 |
CN107861885A (zh) * | 2017-11-07 | 2018-03-30 | 浪潮软件股份有限公司 | 一种数据传输方法及传输装置 |
CN112799595A (zh) * | 2021-02-02 | 2021-05-14 | 联想(北京)有限公司 | 数据处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2662774A1 (en) | 2013-11-13 |
RU2556459C1 (ru) | 2015-07-10 |
AU2011369945B2 (en) | 2015-06-25 |
KR20140043497A (ko) | 2014-04-09 |
WO2012163027A1 (zh) | 2012-12-06 |
AU2011369945A1 (en) | 2014-03-13 |
US20140025875A1 (en) | 2014-01-23 |
EP2662774A4 (en) | 2014-01-08 |
CN102439572B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102439572B (zh) | 控制缓存映射的方法及缓存系统 | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
EP3195104B1 (en) | Efficient data movement within file system volumes | |
KR101726824B1 (ko) | 캐시 아키텍처에서 하이브리드 미디어의 효율적인 사용 | |
US9256527B2 (en) | Logical to physical address mapping in storage systems comprising solid state memory devices | |
CN100481028C (zh) | 一种利用缓存实现数据存储的方法和装置 | |
US20110252215A1 (en) | Computer memory with dynamic cell density | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN109643274B (zh) | 多个数据温度区的交叉点存储器的磨损均衡方法 | |
CN102449607A (zh) | 具有多个闪存封装的存储系统 | |
CN103246616A (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
JP2015517697A (ja) | 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法 | |
CN105630413B (zh) | 一种磁盘数据的同步回写方法 | |
CN107391391A (zh) | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 | |
EP3195103A1 (en) | Online data movement without compromising data integrity | |
CN101178689A (zh) | 一种NAND Flash存储器的动态管理方法 | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
JP4862067B2 (ja) | キャッシュ制御装置及び方法 | |
CN103678169A (zh) | 一种高效利用固态盘缓存的方法和系统 | |
CN102253901B (zh) | 一种基于相变内存的读写区分数据存储替换方法 | |
CN103150122B (zh) | 一种磁盘缓存空间管理方法和装置 | |
CN104991743B (zh) | 应用于固态硬盘阻变存储器缓存的损耗均衡方法 | |
CN104102459A (zh) | 一种闪存设备的数据处理方法及闪存设备 | |
US20120017052A1 (en) | Information Handling System Universal Memory Wear Leveling System and Method | |
CN102521161B (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 |