CN106095342A - 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 - Google Patents
一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 Download PDFInfo
- Publication number
- CN106095342A CN106095342A CN201610425055.6A CN201610425055A CN106095342A CN 106095342 A CN106095342 A CN 106095342A CN 201610425055 A CN201610425055 A CN 201610425055A CN 106095342 A CN106095342 A CN 106095342A
- Authority
- CN
- China
- Prior art keywords
- slice
- group
- chained list
- band
- accessed
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种动态可变长条带的瓦记录磁盘阵列构建方法及系统,其方法包括如下步骤:将磁盘阵列空间划分成多个条带组,通过地址映射表和条带信息表对条带的元数据进行更新,通过写操作请求触发前台垃圾回收,或者在系统空闲时段启动后台垃圾回收,进行写缓存管理;通过将瓦记录磁盘阵列与动态可变长的数据条带相结合,消除瓦记录写覆盖造成的写放大问题;实现对动态条带的元数据进行维护,对逻辑地址和物理地址进行转换以管理条带信息,通过条带组链表管理缓存,保证最近被访问或访问频度高的数据存储在缓存中而将访问频率低的数据存储在磁盘中,具有提高缓存命中率的效果。
Description
技术领域
本发明属于信息存储技术领域,更具体地,涉及一种动态可变长条带的瓦记录磁盘阵列构建方法及系统。
背景技术
磁盘与固态盘的混合存储阵列使用高性能的固态盘存储经常被访问的数据,使用低速的磁盘存储绝大多数冷数据,这为瓦记录磁盘的广泛应用提供了良好的机会。大容量瓦记录磁盘主要用于云数据中心和冷数据存储。
RAID5(独立冗余磁盘阵列,Redundant Arrays of Independent Disks)采用廉价的磁盘作为存储介质,采用分条技术把数据和校验块并行存储在不同的磁盘上,既具有高性能和高可靠性,又具有低存储成本的优势;将瓦记录磁盘与RAID5结合,可将两者的优势发挥到最大;但是传统的RAID5并没有考虑到瓦记录磁盘的读写特性,传统的RAID5技术用于瓦记录磁盘有以下局限性:
(1)无论是使用读改写还是构造写,在计算新的校验信息之前,都必须先读取旧数据,引入了大量的磁盘读写操作;
(2)瓦记录不能覆盖写的特点,极大的加剧了RAID5的小写问题;RAID5的小写引入额外的写操作,而瓦记录磁盘不能进行覆盖写,导致写放大的问题;
(3)传统的RAID5以满条带的形式写入到磁盘,给系统的可靠性增加了风险。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种动态可变长 条带的瓦记录磁盘阵列构建方法及系统,其目的在于减少磁盘的读写次数。
为实现上述目的,按照本发明的一个方面,提供了一种动态可变长条带的瓦记录磁盘阵列构建方法,具体包括如下步骤:
(1)将磁盘阵列空间划分成多个条带组,一个条带组由多个动态生成的条带构成;其中,阵列中所有磁盘的同一个段划分在一个条带组内;条带组内的条带可以存储在条带组内的任意位置;
(2)通过地址映射表和条带信息表对条带的元数据进行更新;
其中,地址映射表(AMT,Adress Mapping Table)存储条带元数据的地址映射信息,条带信息表(SIT,Stripe Information Table)存储条带存储信息;地址映射表用于将逻辑块号转化成物理块号,条带信息表用于记录阵列中存储了哪些条带;
(3)通过写操作请求触发前台垃圾回收,或者在系统空闲时段启动后台垃圾回收。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,其后台垃圾回收包括如下子步骤:
(I)选择在磁盘上的待回收条带组;
(II)将上述待回收条带组中的有效数据存储到缓存中;
(III)将缓存中与待回收条待组对应的数据跟上述有效数据合并,获得可用数据;
(IV)删除磁盘上的待回收条带组内的数据;并更新所述待回收条带组的地址映射表和条带信息表;
(V)将上述可用数据按照满条带或者部分条带的方式存储到已清空的待回收条待组内。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,选择待回收条带组的方法包括:
(a)将有效数据块最少的条带组作为待回收条带组;可以获得最多的 空闲空间;
或(b)将被访问最频繁的条带组作为待回收条带组;
或(c)将最近被访问的条带组作为待回收条带组。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,其前台垃圾回收包括如下子步骤:
(i)将磁盘上空闲空间不足的条带组作为待回收条带组;其中,空闲空间不足是指没有足够的空间存储新写入的条带;
(ii)将待回收条带组与该条带组在缓存中对应的条带组数据进行合并,获得更新后的可用数据;
(iii)删除磁盘上待回收条带组内的数据,并更新该待回收条带组对应的地址映射表和条带信息表;
(iv)将上述可用数据按照满条带或者部分条带的方式存储到磁盘上已清空的待回收条待组内;
在往某个条带组写入条带,而该条带组没有足够的空间容纳拟写入的条带时触发前台垃圾回收;因此前台垃圾回收没有选择待回收条带组的步骤;前台垃圾回收需要一定的时间,而且不会被前台读写操作中断,因此会导致前台的读写请求操作的延时,影响系统的性能。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,其步骤(3)之后,还包括写缓存管理的步骤(4):
(4)将缓存中的数据以条带组为单位链接起来,形成条带组链表;并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;写入条带组链表中的条目被插入到最近被访问的条带组链表的头部;
当最近被访问的条带组链表已满,而有新的条带组欲写入条带组链表时,则将最近被访问的条带组链表尾部的条目淘汰,存储到最不常访问的条带组链表;
当最不常访问的条带组链表已满,则将最不常访问的条带组链表尾部 的条带组存储到磁盘。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,其步骤(4)中,周期性的将条带组链表的引用计数器的值设置为当前值的一半;以防止过去时段内经常被访问而将来时段未被访问的条带不能从最不常访问的条带组链表中被替换出来;
若某条带组在过去一段时间内经常被访问,那么引用计数器的值就会很大,因此,即使在将来的一段时间内它没有被访问,它也不会被替换出最不常访问的条带组链表,周期性的将引用计数器的值减半的方法,可以防止这种情况的发生。
优选地,上述动态可变长条带的瓦记录磁盘阵列构建方法,其步骤(4)包括如下子步骤:
(4-1)将数据块C存储到条带组G中,并判断条带组G是否在缓存中,若是,则进入步骤(4-2);若否,则进入步骤(4-3);
(4-2)在缓存中为数据块C分配存储空间,并将数据块C插入到条带组G对应的最不常访问的条带组链表中;
(4-3)在缓存中为条带组G分配存储空间;并将条带组G插入到最近被访问的条带组链表(SSG LRU List)的头部,把数据块C插入到条带组G对应的最不常访问的条带组链表(Chunk LRU List)中,进入步骤(4-4);
(4-4)将数据块C的最近访问标志位设为1,并将引用计数器加1,并把条带组G移到条带组链表的头部,进入步骤(4-5);
(4-5)判断条带组链表是否为满,若否,则结束;若是,则进入步骤(4-6);
(4-6)将最近被访问的条带组链表尾部的条带组移到最不常访问的条带组链表的头部,进入步骤(4-7);
(4-7)判断最不常访问的条带组链表是否为满,若否,则结束;若是,则进入步骤(4-8);
(4-8)把最不常访问的条带组链表尾部的条带组存储到磁盘,结束。
为实现本发明目的,按照本发明的另一个方面,提供了一种动态可变长条带的瓦记录磁盘阵列构建系统,包括:
(1)第一模块,用于将阵列空间分成条带组;一个条带组由多个动态生成的条带构成,条带可存储在条带组内的任意位置;
由于基于段结构的瓦记录本身就把整个磁盘分成了段,在本发明的这种构建系统中,将阵列中所有磁盘的同一个段组成一个条带组;基于段结构的瓦记录中,条带组与段具有相同的编号;
(2)第二模块,用于条带元数据的维护;
由于条带是动态的,因此需要维护条带的元数据;条带元数据包括AMT和SIT;通过存储地址映射信息的AMT进行地址转换,获得数据的存储位置;通过SIT记录磁盘中存储的段,以及段中数据块的有效性;
(3)第三模块,用于进行动态可变长条带中的垃圾回收;
动态可变长条带的瓦记录磁盘阵列采用异地更新方式,新产生的条带总是以追加的形式写到条带组,不覆盖原来的数据;因此必须有足够的空间来存储新产生的条带;
若当前没有足够空间来容纳新产生的条带,则通过第三模块进行垃圾回收,包括前台垃圾回收和后台垃圾回收;
前台垃圾回收被写操作触发,当写入时空间不够,被动的进行垃圾回收;后台垃圾回收在系统空闲时触发,在预设的时间间隔内,若系统处于空闲状态,则触发后台垃圾回收;后台垃圾回收总是在系统空闲的时候进行,因此可以提高系统的性能;
(4)第四模块,用于写缓存管理;将缓存中的数据以条带组为单位链接起来,形成条带组链表;
条带组链表中的每个条目都有一个最近访问标志位和一个引用计数器;最近访问标志位用于指示该条目最近是否被访问过,而引用计数器用于记 录条目被访问的次数;
条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;最近被访问的条带组链表中存储着最近被访问的条带,其中的条目按照LRU算法的顺序排列;当条带组链表中的任意条目被访问时,该条目都会被插入到最近被访问的条带组链表的头部,且将其最近访问标志位成1,引用计数器加1;
当最近被访问的条带组链表满后,而有新的条带组欲写入时,则将最近被访问的条带组链表尾部的条目淘汰,存储到最不常访问的条带组链表,并将被淘汰条目的最近访问标志位置成0;
最不常访问的条带组链表存储最近未被访问条带组,其中的条目以LFU算法的顺序排列,即按照条带组的引用计数排序;当缓存的使用率达到阈值,将最不常访问的条带组链表尾部的条带组从缓存移到磁盘中;最不常访问的条带组链表尾部存储的条带组是最近未被访问的、且访问次数最少的。
该模块以段结构的条带组为单位对写缓存进行管理;当数据被替换出缓存,以条带组的形式写回到磁盘中时,多个地址相邻的数据块被一起写到磁盘,可减少对磁盘的访问次数,以条带组为单位管理写缓存可以有效的利用数据的空间局部性。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的动态可变长条带的瓦记录磁盘阵列构建方法及系统,在现有的瓦记录磁盘上加入动态可变长条带,将现有的瓦记录磁盘分成基于段结构的瓦记录,由此将更新的粒度控制在一个段组之内,以追加的方式为新数据块构造一个新的条带,减少读写次数,由此消除原有瓦记录磁盘中写覆盖造成的写放大问题;
(2)本发明提供的动态可变长条带的瓦记录磁盘阵列构建方法及系统, 将新数据存储在磁盘控制器的缓存中,以便合并;将旧数据存储在以段为结构的瓦记录磁盘上,以方便数据的更新;
通过地址映射表将逻辑块号转换成物理块号;通过条带信息表记录阵列中存储了哪些条带,以及条带中的数据块是否为有效,以方便垃圾回收,减少了磁盘读写开销,提高读写性能;
(3)本发明提供的动态可变长条带的瓦记录磁盘阵列构建方法及系统,缓存里面的条带组可能来自磁盘上的几个条带组,是动态可变的;垃圾回收时,在缓存中将缓存的条带组数据与其在磁盘上对应的条带组数据进行合并,将合并获得的有效数据写回到磁盘上选定的条带组位置;该垃圾回收机制可以有效利用磁盘的空间,提供通信速度;并将垃圾回收分为由用户数据的插入引起的前台回收和在系统空闲时进行的后台回收两种方式;前台回收可以及时更新用户的新数据,后台回收不占用系统的资源,减小系统的开销;
(4)本发明提供的动态可变长条带的瓦记录磁盘阵列构建方法及系统,其写缓存管理的方法,将缓存中的数据以条带组为单位链接起来,形成条带组链表;并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;写入条带组链表中的条目被插入到最近被访问的条带组链表的头部;由此将最近被访问的数据放在里面,将被访问频率最低的数据淘汰出来,保证缓存中总是保留着最热的那部分数据,提高了缓存的命中率,减少了磁盘的读写次数。
附图说明
图1本发明实施例中动态可变长条带磁盘阵列的数据组织示意图;
图2是本发明实施例中更新时构造的虚拟条带示意图;
图3是本发明实施例中写缓存管理的示意图;
图4是本发明实施例中写缓存管理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于,将动态可变长的条带与瓦记录磁盘技术相结合,在提高磁盘空间利用率的同时减少磁盘读写次数;通过在缓存中进行条带合并将数据重组,并将重复的数据删除以避免写放大问题;并通过动态可变长条带瓦记录磁盘阵列的缓存管理方法,根据数据的访问热度对数据进行淘汰,起到提高磁盘缓存的命中率,提高整体性能的作用。
实施例中提供的动态可变长条带的瓦记录磁盘阵列构建方法,具体包括如下步骤:
(1)将磁盘阵列空间划分成多个条带组,一个条带组由多个动态生成的条带构成;其中,阵列中所有磁盘的同一个段划分在一个条带组内;条带组内的条带可以存储在条带组内的任意位置;
(2)通过地址映射表和条带信息表对条带的元数据进行更新;
其中,地址映射表存储条带元数据的地址映射信息,条带信息表存储条带存储信息;地址映射表用于将逻辑块号转化成物理块号,条带信息表用于记录阵列中存储了哪些条带;
(3)通过写操作请求触发前台垃圾回收,或者在系统空闲时段启动后台垃圾回收;
(4)将缓存中的数据以条带组为单位链接起来,形成条带组链表;并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;写入条带组链表中的条目被插入到最近被访问的条带组链表的头部;
当最近被访问的条带组链表已满,而有新的条带组欲写入条带组链表时,则将最近被访问的条带组链表尾部的条目淘汰,存储到最不常访问的 条带组链表;
当最不常访问的条带组链表已满,则将最不常访问的条带组链表尾部的条带组存储到磁盘。
图1所示,是本发明实施例中构建的动态可变长条带磁盘阵列的数据组织示意图;图中显示了一个由5个磁盘组组成了磁盘阵列;在组SSG0中,数据D0-D19,与传统的RAID5一样分布在各个磁盘中,其中Di表示第i个数据块,Pi表示第i个校验块。数据块D0,D1,D2,D3和检验块P0组成条带0(Stripe 0),数据块D4,D5,D6,D7和检验块P1组成条带1(Stripe 1),数据块D,8,D9,D10,D11和检验块P2组成条带2(Stripe 2),数据块D12,D13,D14,D15和检验块P3组成条带3(Stripe 3),数据块D16,D17,D18,D19和检验块P4组成条带4(Stripe 4)。
以图1中带组SSG1中数据的组织来说明实施例所构建的动态可变长条带的瓦记录磁盘阵列;初始时,阵列中只存在数据块D0-D7;用数据块D0-D7构造条带0和条带1;当数据块D2-D5被修改;若采用传统的RAID5,那么控制器需要把旧数据D2-D5、P0和P1读出来,然后与新数据块D2’-D5’进行计算,得到新的P0’和P1’,再把这些新的数据写回到原来的位置,这样导致了很多的额外的磁盘访问,降低了系统的性能。
而采用本发明所构建的动态可变长条带的瓦记录磁盘阵列,并不覆盖原来的数据,而是为新数据块D2’-D5’构造一个新的条带,然后写到磁盘;本方法中,没有读取任何旧数据,因此极大地减少了磁盘的访问。
在新的条带被写入到磁盘以后,动态可变长条带的瓦记录磁盘阵列给旧数据做一个标记,表示这个数据块是过时的,不是最新的;但并简单的将旧数据删除掉,因为旧数据还要用来保护它们所在条带的数据一致性和可靠性;譬如,当磁盘0(Disk 0)损坏,可以通过读取D1、P1和旧数据D2、D3进行异或运算获取数据块D0;旧数据作为一种隐性的冗余信息,用来防止磁盘的失效。
图2所示,是本发明实施例中更新时构造的虚拟条带示意图;从图中可以看出,重新构造的条带不一定来自于同一个条带,它们只是逻辑上的条带关系;本发明采用地址映射表来存储这种逻辑地址到物理地址的关系;其有益效果在于不同条带之间的更新合并避免了小写问题,同时采用的是异地更新,避免了写覆盖问题;由于在瓦记录磁盘中的写覆盖会引起写放大的问题;因此该方法通过避免写覆盖达到避免写放大的目的。
图3所示,是本发明实施例中写缓存管理方法的示意图;以段结构的条带组为单位管理写缓存,以条带组为单位管理写可以有效的利用数据的空间局部性;当数据被替换出缓存以条带组的形式写回到磁盘中时,多个地址相邻的数据块会被一起写入到磁盘减少对磁盘的访问次数。
图4所示,是本发明实施例中写缓存管理中的写流程示意图,具体包括以下子步骤:
(4-1)将数据块C存储到条带组G中,并判断条带组G是否在缓存中,若是,则进入步骤(4-2);若否,则进入步骤(4-3);
(4-2)在缓存中为数据块C分配存储空间,并将数据块C插入到条带组G对应的最不常访问的条带组链表中;
(4-3)在缓存中为条带组G分配存储空间;并将条带组G插入到最近被访问的条带组链表(SSG LRU List)的头部,把数据块C插入到条带组G对应的最不常访问的条带组链表(Chunk LRU List)中,进入步骤(4-4);
(4-4)将数据块C的最近访问标志位设为1,并将引用计数器加1,并把条带组G移到条带组链表的头部,进入步骤(4-5);
(4-5)判断条带组链表是否为满,若否,则结束;若是,则进入步骤(4-6);
(4-6)将最近被访问的条带组链表尾部的条带组移到最不常访问的条带组链表的头部,进入步骤(4-7);
(4-7)判断最不常访问的条带组链表是否为满,若否,则结束;若是, 则进入步骤(4-8);
(4-8)把最不常访问的条带组链表尾部的条带组存储到磁盘,结束。
通过将缓存中的数据以条带组为单位链接起来形成条带组链表;并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;写入条带组链表中的条目被插入到最近被访问的条带组链表的头部;
当最近被访问的条带组链表已满,而有新的条带组欲写入条带组链表时,则将最近被访问的条带组链表尾部的条目存储到最不常访问的条带组链表;当最不常访问的条带组链表已满,则将最不常访问的条带组链表尾部的条带组存储到磁盘;以条带组的形式把数据写回到磁盘,可以让多个数据块连续的被写到磁盘中,以有效的利用数据的空间局部性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种动态可变长条带的瓦记录磁盘阵列构建方法,其特征在于,包括如下步骤:
(1)将磁盘阵列划分成多个条带组;每个所述条带组由多个动态生成的条带构成,条带存储在条带组的任意位置;
(2)通过地址映射表和条带信息表对条带的元数据进行更新;
所述地址映射表存储条带元数据的地址映射信息,用于将逻辑块号转化成物理块号;条带信息表存储条带存储信息,用于记录阵列中存储了哪些条带;
(3)通过写操作请求触发前台垃圾回收,或者在系统空闲时段启动后台垃圾回收。
2.如权利要求1所述的瓦记录磁盘阵列构建方法,其特征在于,后台垃圾回收包括如下子步骤:
(I)在磁盘上选择待回收条带组;
(II)将所述待回收条带组中的有效数据存储到缓存中;
(III)将缓存中与所述待回收条待组对应的数据跟所述有效数据合并,获得可用数据;
(IV)删除磁盘上待回收条带组内的数据,并更新所述待回收条带组的地址映射表和条带信息表;
(V)将所述可用数据按照满条带或者部分条带的方式存储到磁盘上已清空的待回收条待组内。
3.如权利要求2所述瓦记录磁盘阵列构建方法,其特征在于,选择待回收条带组的方法为:
(a)将有效数据块最少的条带组作为待回收条带组;
或(b)将被访问最频繁的条带组作为待回收条带组;
或(c)将最近被访问的条带组作为待回收条带组。
4.如权利要求1所述瓦记录磁盘阵列构建方法,其特征在于,前台垃圾回收包括如下子步骤:
(i)将磁盘上空闲空间不足的条带组作为待回收条带组;
(ii)将待回收条带组与该条带组在缓存中对应的条带组数据进行合并,获得更新后的可用数据;
(iii)删除磁盘上待回收条带组内的数据,并更新所述待回收条带组对应的地址映射表和条带信息表;
(iv)将所述可用数据按照满条带或者部分条带的方式存储到磁盘上已清空的待回收条待组内。
5.如权利要求1所述瓦记录磁盘阵列构建方法,其特征在于,所述步骤(3)之后,还包括写缓存管理的步骤(4):
(4)将缓存中的数据以条带组为单位链接起来,形成条带组链表;并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;写入条带组链表中的条目被插入到最近被访问的条带组链表的头部;
当最近被访问的条带组链表已满,而有新的条带组欲写入条带组链表时,则将最近被访问的条带组链表尾部的条目淘汰,存储到最不常访问的条带组链表;
当最不常访问的条带组链表已满,则将最不常访问的条带组链表尾部的条带组存储到磁盘。
6.如权利要求5所述瓦记录磁盘阵列构建方法,其特征在于,所述步骤(4)包括如下子步骤:
(4-1)将数据块C存储到条带组G中,并判断条带组G是否在缓存中,若是,则进入步骤(4-2);若否,则进入步骤(4-3);
(4-2)在缓存中为数据块C分配存储空间,并将数据块C插入到条带组G对应的最不常访问的条带组链表中;
(4-3)在缓存中为条带组G分配存储空间;并将条带组G插入到最近被访问的条带组链表头部,把数据块C插入到条带组G对应的最不常访问的条带组链表中,进入步骤(4-4);
(4-4)将数据块C的最近访问标志位设为1,将条带组链表的引用计数器加1,并把条带组G移到条带组链表的头部,进入步骤(4-5);
(4-5)判断条带组链表是否为满,若否,则结束;若是,则进入步骤(4-6);
(4-6)将最近被访问的条带组链表尾部的条带组移到最不常访问的条带组链表的头部,进入步骤(4-7);
(4-7)判断最不常访问的条带组链表是否为满,若否,则结束;若是,则进入步骤(4-8);
(4-8)把最不常访问的条带组链表尾部的条带组存储到磁盘。
7.如权利要求6所述瓦记录磁盘阵列构建方法,其特征在于,在所述步骤(4)中,周期性的将条带组链表的引用计数器的值设置为当前值的一半;以防止过去时段内经常被访问而将来时段未被访问的条带不能从最不常访问的条带组链表中被替换出来。
8.一种动态可变长条带的瓦记录磁盘阵列构建系统,其特征在于,包括:
(1)第一模块,用于将阵列空间分成条带组;一个条带组由多个动态生成的条带构成,条带可存储在条带组内的任意位置;
(2)第二模块,用于条带元数据的维护;
条带元数据包括地址映射表和条带信息表;通过地址映射表进行地址转换,获得数据的存储位置;通过条带信息表记录磁盘中存储的段,以及段中数据块的有效性;
(3)第三模块,用于进行动态可变长条带中的垃圾回收;
若当前空间不够容纳新产生的条带,则通过第三模块进行垃圾回收;
(4)第四模块,用于写缓存管理;
将缓存中的数据以条带组为单位链接形成条带组链表;条带组链表中的每个条目都有一个最近访问标志位和一个引用计数器;
并将条带组链表分成最近被访问的条带组链表和最不常访问的条带组链表两段;最近被访问的条带组链表中存储最近被访问的条带,当条带组链表中的任意条目被访问时,该条目被插入到最近被访问的条带组链表的头部,且将其最近访问标志位成1,引用计数器加1;
当最近被访问的条带组链表满后,而有新的条带组欲写入时,则将最近被访问的条带组链表尾部的条目淘汰,存储到最不常访问的条带组链表,并将被淘汰条目的最近访问标志位置成0;
最不常访问的条带组链表存储最近未被访问条带组,当缓存使用率达到阈值,将最不常访问的条带组链表尾部的条带组从缓存移到磁盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425055.6A CN106095342B (zh) | 2016-06-15 | 2016-06-15 | 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425055.6A CN106095342B (zh) | 2016-06-15 | 2016-06-15 | 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095342A true CN106095342A (zh) | 2016-11-09 |
CN106095342B CN106095342B (zh) | 2019-05-14 |
Family
ID=57235375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610425055.6A Active CN106095342B (zh) | 2016-06-15 | 2016-06-15 | 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095342B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528003A (zh) * | 2016-12-09 | 2017-03-22 | 曙光信息产业(北京)有限公司 | 一种磁盘阵列的重建方法和装置 |
CN109147842A (zh) * | 2017-06-19 | 2019-01-04 | 美光科技公司 | 同时进行数据路径中计算操作的设备及方法 |
CN109213428A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN109582222A (zh) * | 2018-10-31 | 2019-04-05 | 华中科技大学 | 一种主机感知瓦记录磁盘中持久缓存的清理方法 |
WO2020052216A1 (zh) * | 2018-09-12 | 2020-03-19 | 华为技术有限公司 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN110895513A (zh) * | 2018-09-12 | 2020-03-20 | 华为技术有限公司 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN111399765A (zh) * | 2019-12-31 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
WO2020233177A1 (zh) * | 2019-05-17 | 2020-11-26 | 华为技术有限公司 | 磁盘冗余阵列raid管理方法、raid控制器和系统 |
CN112463022A (zh) * | 2020-10-17 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种基于磁盘阵列的io处理方法、装置及介质 |
CN112835534A (zh) * | 2021-02-26 | 2021-05-25 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
CN113868149A (zh) * | 2021-08-26 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN114489506A (zh) * | 2022-01-21 | 2022-05-13 | 杭州海康存储科技有限公司 | 存储访问控制装置、方法及存储设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033945A (zh) * | 2010-12-21 | 2011-04-27 | 中兴通讯股份有限公司 | 一种回收脏块的方法及装置 |
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN102999428A (zh) * | 2012-11-01 | 2013-03-27 | 华中科技大学 | 一种瓦记录磁盘的四级编址方法 |
US20140304453A1 (en) * | 2013-04-08 | 2014-10-09 | The Hong Kong Polytechnic University | Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems |
-
2016
- 2016-06-15 CN CN201610425055.6A patent/CN106095342B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033945A (zh) * | 2010-12-21 | 2011-04-27 | 中兴通讯股份有限公司 | 一种回收脏块的方法及装置 |
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN102999428A (zh) * | 2012-11-01 | 2013-03-27 | 华中科技大学 | 一种瓦记录磁盘的四级编址方法 |
US20140304453A1 (en) * | 2013-04-08 | 2014-10-09 | The Hong Kong Polytechnic University | Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems |
Non-Patent Citations (1)
Title |
---|
IHZUHIKO MOGI等: "Dynamic Parity Stripe Reorganizations for RAID5 Disk Arrays", 《PROCEEDINGS OF THE THIRD IMEMATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTEDINFORMATION SYSTEMS.IEEE》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528003A (zh) * | 2016-12-09 | 2017-03-22 | 曙光信息产业(北京)有限公司 | 一种磁盘阵列的重建方法和装置 |
CN109147842A (zh) * | 2017-06-19 | 2019-01-04 | 美光科技公司 | 同时进行数据路径中计算操作的设备及方法 |
CN109213428A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN109213428B (zh) * | 2017-06-30 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN110895513A (zh) * | 2018-09-12 | 2020-03-20 | 华为技术有限公司 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
WO2020052216A1 (zh) * | 2018-09-12 | 2020-03-19 | 华为技术有限公司 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN110895513B (zh) * | 2018-09-12 | 2024-09-17 | 华为技术有限公司 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
US11928053B2 (en) | 2018-09-12 | 2024-03-12 | Huawei Technologies Co., Ltd. | System garbage collection method and method for garbage collection in solid state disk |
CN109582222A (zh) * | 2018-10-31 | 2019-04-05 | 华中科技大学 | 一种主机感知瓦记录磁盘中持久缓存的清理方法 |
WO2020233177A1 (zh) * | 2019-05-17 | 2020-11-26 | 华为技术有限公司 | 磁盘冗余阵列raid管理方法、raid控制器和系统 |
CN111399765A (zh) * | 2019-12-31 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN111399765B (zh) * | 2019-12-31 | 2022-11-01 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN112463022A (zh) * | 2020-10-17 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种基于磁盘阵列的io处理方法、装置及介质 |
CN112463022B (zh) * | 2020-10-17 | 2022-07-26 | 苏州浪潮智能科技有限公司 | 一种基于磁盘阵列的io处理方法、装置及介质 |
CN112835534B (zh) * | 2021-02-26 | 2022-08-02 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
CN112835534A (zh) * | 2021-02-26 | 2021-05-25 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
CN113868149A (zh) * | 2021-08-26 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN113868149B (zh) * | 2021-08-26 | 2024-06-28 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN114489506A (zh) * | 2022-01-21 | 2022-05-13 | 杭州海康存储科技有限公司 | 存储访问控制装置、方法及存储设备 |
CN114489506B (zh) * | 2022-01-21 | 2024-02-27 | 杭州海康存储科技有限公司 | 存储访问控制装置、方法及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106095342B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095342A (zh) | 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 | |
CN106708427B (zh) | 一种适用于键值对数据的存储方法 | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
CN104035729B (zh) | 一种日志映射的块设备精简配置方法 | |
CN103049222B (zh) | 一种raid5的写io优化处理方法 | |
US9298384B2 (en) | Method and device for storing data in a flash memory using address mapping for supporting various block sizes | |
US5717893A (en) | Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及系统 | |
CN105955664B (zh) | 一种基于段结构的瓦记录转换层的读写方法 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
US10740251B2 (en) | Hybrid drive translation layer | |
WO2024066613A1 (zh) | 多级缓存系统的访问方法、数据存储方法及装置 | |
CN102200892B (zh) | 一种基于动态raid系统的扩容方法 | |
CN101510176B (zh) | 通用操作系统对cpu二级缓存访问的控制方法 | |
KR20120129895A (ko) | 플래시 메모리 상에 소거 성능을 개선하기 위한 소거 명령 캐시 | |
CN105975215A (zh) | 一种基于Ondemand算法的STL映射表管理方法 | |
CN101169761A (zh) | 大容量缓存实现方法及存储系统 | |
CN103150136A (zh) | 基于ssd的大容量缓存中的lru策略实现方法 | |
CN111580754B (zh) | 一种写友好的闪存固态盘缓存管理方法 | |
CN102314397A (zh) | 缓存数据块的处理方法 | |
CN109918316B (zh) | 一种减少ftl地址映射空间的方法及其系统 | |
CN108089825A (zh) | 一种基于分布式集群的存储系统 | |
CN107957962A (zh) | 一种面向大图计算高效图划分方法与系统 | |
CN111443874B (zh) | 基于内容感知的固态盘内存缓存管理方法、设备及固态盘 | |
CN102395957A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |