CN107844436B - 一种缓存中脏数据的组织管理方法、系统及存储系统 - Google Patents

一种缓存中脏数据的组织管理方法、系统及存储系统 Download PDF

Info

Publication number
CN107844436B
CN107844436B CN201711065726.3A CN201711065726A CN107844436B CN 107844436 B CN107844436 B CN 107844436B CN 201711065726 A CN201711065726 A CN 201711065726A CN 107844436 B CN107844436 B CN 107844436B
Authority
CN
China
Prior art keywords
red
dirty
cache
logical volumes
black
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.)
Active
Application number
CN201711065726.3A
Other languages
English (en)
Other versions
CN107844436A (zh
Inventor
王永刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201711065726.3A priority Critical patent/CN107844436B/zh
Publication of CN107844436A publication Critical patent/CN107844436A/zh
Application granted granted Critical
Publication of CN107844436B publication Critical patent/CN107844436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种缓存中脏数据的组织管理方法、系统及存储系统,本申请将缓存空间划分为多个缓存模块,并根据磁盘阵列的储存容量确定多个逻辑卷。本申请为逻辑卷分配缓存模块,本申请还设置了与逻辑卷一一对应的数组,并将数组中的元素一一作为红黑树的根节点。本申请还可以确定任一逻辑卷对应的脏块在该缓存模块的地址,从而确定脏块在对应逻辑卷的对应地址,并将该对应地址作为与该逻辑卷对应的红黑树的节点的key值。然后,本申请便可将脏块按照红黑树的预设排序规则组织成红黑树,在将脏块中的脏数据刷写至磁盘阵列时,按照先序遍历方式刷写,相当于对磁盘阵列进行顺序访问,提升了刷写的速率,缩短了刷写的时间,提高了系统的访问效率。

Description

一种缓存中脏数据的组织管理方法、系统及存储系统
技术领域
本发明涉及存储技术领域,特别是涉及一种缓存中脏数据的组织管理方法、系统及存储系统。
背景技术
在存储系统中,系统的多个磁盘组成磁盘阵列,缓存空间存储的数据应刷写至磁盘阵列中。如果通过写操作对缓存空间中的数据进行修改,导致缓存空间中的数据与磁盘阵列中的数据不一致,则缓存空间中被修改的数据称为脏数据。现有技术对缓存空间中的脏数据按照链表的组织方式进行组织,链表是一种物理存储单元上非连续、非顺序的存储结构,因此,缓存空间中的脏数据刷写至磁盘阵列时,相当于对磁盘阵列进行随机访问,导致刷写速度慢,效率低。此外,对于链表的形式来说,即使对缓存空间中的脏数据按照地址进行排序,排序过程会过于繁琐,导致排序时间过长,从而降低了系统的访问效率。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种缓存中脏数据的组织管理方法、系统及存储系统,相当于对磁盘阵列进行顺序访问,从而提升了刷写的速率,缩短了刷写的时间,提高了系统的访问效率。
为解决上述技术问题,本发明提供了一种缓存中脏数据的组织管理方法,包括:
预先将存储系统中的缓存空间划分为N个缓存模块,并根据所述存储系统中的磁盘阵列的储存容量确定与所述磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
根据M个所述逻辑卷的储存容量和N个所述缓存模块的缓存容量为M个所述逻辑卷相应的顺序分配缓存模块并设置与M个所述逻辑卷一一对应的M个元素组成的数组,其中,所述逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
分别将M个所述逻辑卷对应的缓存模块中的脏块,按照所述脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将所述脏块中的脏数据按照先序遍历的方式刷写至所述磁盘阵列,其中,所述脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
优选地,该方法还包括:
在所述脏块中的脏数据刷写至所述磁盘阵列后,删除与所述脏块对应的红黑树的节点。
优选地,所述红黑树的预设排序规则具体为所述红黑树的节点的左孩子的key值小于该节点的key值,所述红黑树的节点的右孩子的key值大于该节点的key值。
优选地,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的所述脏块在与其对应的红黑树中的位置,并在满足所述排序规则的前提下,根据确定的位置将生成的所述脏块插入该红黑树。
优选地,所述红黑树插入节点的平均时间复杂度的关系式为O(logn),其中,n为所述红黑树节点的数量。
为解决上述技术问题,本发明还提供了一种缓存中脏数据的组织管理系统,包括:
预设单元,用于预先将存储系统中的缓存空间划分为N个缓存模块,并根据所述存储系统中的磁盘阵列的储存容量确定与所述磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
分配单元,用于根据M个所述逻辑卷的储存容量和N个所述缓存模块的缓存容量为M个所述逻辑卷相应的顺序分配缓存模块并设置与M个所述逻辑卷一一对应的M个元素组成的数组,其中,所述逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
组织单元,用于分别将M个所述逻辑卷对应的缓存模块中的脏块,按照所述脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将所述脏块中的脏数据按照先序遍历的方式刷写至所述磁盘阵列,其中,所述脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
优选地,该系统还包括:
删除单元,用于在所述脏块中的脏数据刷写至所述磁盘阵列后,删除与所述脏块对应的红黑树的节点。
优选地,所述红黑树的预设排序规则具体为所述红黑树的节点的左孩子的key值小于该节点的key值,所述红黑树的节点的右孩子的key值大于该节点的key值。
优选地,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的所述脏块在与其对应的红黑树中的位置,并在满足所述排序规则的前提下,根据确定的位置将生成的所述脏块插入该红黑树。
为解决上述技术问题,本发明还提供了一种存储系统,包括上述任一种缓存中脏数据的组织管理系统。
本发明提供了一种缓存中脏数据的组织管理方法,包括:预先将存储系统中的缓存空间划分为N个缓存模块,并根据存储系统中的磁盘阵列的储存容量确定与磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;根据M个逻辑卷的储存容量和N个缓存模块的缓存容量为M个逻辑卷相应的顺序分配缓存模块并设置与M个逻辑卷一一对应的M个元素组成的数组,其中,逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;分别将M个逻辑卷对应的缓存模块中的脏块,按照脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将脏块中的脏数据按照先序遍历的方式刷写至磁盘阵列,其中,脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
与现有技术的链表组织方式相比,本申请将缓存空间划分为多个缓存模块,并根据磁盘阵列的储存容量确定多个逻辑卷。本申请为逻辑卷分配缓存模块,使得逻辑卷和缓存模块之间建立地址对应关系。本申请还设置了与逻辑卷一一对应的数组,并将数组中的元素一一作为红黑树的根节点,从而建立逻辑卷与红黑树的一一对应关系。本申请还可以确定任一逻辑卷对应的缓存模块中的脏块的地址,从而确定脏块在对应逻辑卷的对应地址,并将该对应地址作为与该逻辑卷对应的红黑树的节点的key值。然后,本申请便可以将脏块按照红黑树的预设排序规则组织成红黑树,在将脏块中的脏数据刷写至磁盘阵列时,按照对红黑树的节点先序遍历的方式刷写,也即按照地址递增的方式进行刷写,相当于对磁盘阵列进行顺序访问,从而提升了刷写的速率,缩短了刷写的时延,提高了系统的访问效率。
本发明还提供了一种缓存中脏数据的组织管理系统及存储系统,与上述方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种缓存中脏数据的组织管理方法的流程图;
图2为本发明提供的一种缓存中脏数据的组织管理系统的结构示意图。
具体实施方式
本发明的核心是提供一种缓存中脏数据的组织管理方法、系统及存储系统,相当于对磁盘阵列进行顺序访问,从而提升了刷写的速率,缩短了刷写的时间,提高了系统的访问效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种缓存中脏数据的组织管理方法的流程图,该方法包括:
步骤S1:预先将存储系统中的缓存空间划分为N个缓存模块,并根据存储系统中的磁盘阵列的储存容量确定与磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
需要说明的是,本申请中的预先和预设是提前设置好的,只需要设置一次,除非根据实际情况需要修改,否则不需要重新设置。
具体地,本申请提前将存储系统中的缓存空间划分为多个缓存模块,本申请可以将缓存空间按照内存页的粒度4KB进行组织划分,也就是说,一个4KB粒度的缓存空间称为一个缓存模块,当然,本申请的划分标准包括但不仅限于4KB粒度,本申请在此不做特别的限定。
缓存空间是指暂时存储程序及数据的存储空间,由于缓存空间的暂时存储特性,缓存空间的数据会在系统关机后丢失。缓存空间的数据要想永久性地保存下来,需要将缓存空间的数据刷写至存储系统中的磁盘阵列。所以,在刷写过程完成后,多个缓存模块中的数据和与其对应的磁盘阵列中的数据相一致。
当对缓存模块执行写操作时,缓存模块中的数据被更改,导致该缓存模块中的数据和与该缓存模块对应的磁盘阵列的数据不一致,该缓存模块此时被称为脏块,脏块内缓存的数据被称为脏数据。
磁盘阵列是指多个物理磁盘组成的磁盘组,磁盘阵列的存储容量是多个物理磁盘的存储容量之和。本申请提前根据存储系统中的磁盘阵列的储存容量,确定与该磁盘阵列对应的多个逻辑卷。本申请中逻辑卷的数量小于缓存模块的数量。
这里的逻辑卷是一种虚拟盘,目的是把磁盘阵列从物理硬盘的管理方式转为统一管理分配的逻辑盘的管理方式。比如,一个8GB的磁盘和一个20GB的磁盘组成磁盘阵列,如果想要将该磁盘阵列分成一个12GB的逻辑盘和一个16GB的逻辑盘,用物理分区的方式是无法实现的,但用逻辑卷的管理方式便可以实现。至于磁盘阵列具体如何分区,本申请在此不做特别的限定,根据实际情况而定。
步骤S2:根据M个逻辑卷的储存容量和N个缓存模块的缓存容量为M个逻辑卷相应的顺序分配缓存模块并设置与M个逻辑卷一一对应的M个元素组成的数组,其中,逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
具体地,本申请根据多个逻辑卷的储存容量和多个缓存模块的缓存容量,为每个逻辑卷顺序分配缓存模块。比如,系统中一共有1-10个按照地址从小到大排列的逻辑卷,第1个逻辑卷的地址最小,系统中一共有1-100个按照地址从小到大排列的缓存模块,第1个缓存模块的地址最小。这里的顺序分配,也就是说第1个逻辑卷分配第1-10个缓存模块,第2个逻辑卷分配第11-20个缓存模块,逻辑卷中较小的地址对应缓存模块中较小的地址。本申请也可以根据使用热度,有的逻辑卷多分配一些缓存模块,有的逻辑卷相应的少分配一些缓存模块。至于具体逻辑卷分配缓存模块的数量,本申请在此不做特别的限定,根据实际情况而定。
逻辑卷分配的缓存模块的缓存容量应小于等于该逻辑卷的储存容量,便可以建立逻辑卷和该逻辑卷分配的缓存模块之间的地址对应关系,也就是说,已知逻辑卷分配的缓存模块中脏块的地址,便可以根据建立的地址对应关系确定该脏块在与其对应的逻辑卷的对应地址。
此外,本申请将所有的脏块按照逻辑卷组织分类,对应同一个逻辑卷的脏块均通过红黑树的形式组织起来,也就是说,逻辑卷与红黑树具有一一对应的关系,逻辑卷所对应的脏块均为与该逻辑卷对应的红黑树上的节点。本申请设置了与多个逻辑卷一一对应的元素组成的数组,每个元素均作为与其对应的红黑树的根节点,从而建立了逻辑卷与红黑树的一一对应关系。
步骤S3:分别将M个逻辑卷对应的缓存模块中的脏块,按照脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将脏块中的脏数据按照先序遍历的方式刷写至磁盘阵列,其中,脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
具体地,这里以一个逻辑卷对应的脏块举例,说明通过红黑树的形式组织脏块的原理包括:已知逻辑卷对应的脏块在该逻辑卷的对应地址,将该对应地址作为脏块所属红黑树的节点的key值。本申请提前设置了红黑树的排序规则,也即父节点的key值与该父节点的左孩子的key值的大小关系,该父节点的key值与该父节点的右孩子的key值的大小关系。本申请便可以根据设置的排序规则对该红黑树包含的脏块进行排序。当新的脏块生成时,在满足排序规则的前提下,将生成的脏块插入该红黑树即可。
其余逻辑卷对应的脏块也按照上述原理进行排序,便形成了多个红黑树。红黑树的节点可以包含但不仅限于lun数据元素、lba数据元素及data数据元素,lun数据元素代表该节点缓存的数据属于哪个逻辑卷,lba数据元素代表该节点缓存的数据在逻辑卷中的地址,即该逻辑卷对应的脏块在该逻辑卷的对应地址,data数据元素代表该节点缓存的数据在缓存空间中的地址。
在将脏块中的脏数据刷写至磁盘阵列时,按照对红黑树的节点先序遍历的方式刷写,也即按照地址递增的方式进行刷写,相当于对磁盘阵列进行顺序访问,从而提升了刷写的速率,缩短了刷写的时间,提高了系统的访问效率。
本发明提供了一种缓存中脏数据的组织管理方法,包括:预先将存储系统中的缓存空间划分为N个缓存模块,并根据存储系统中的磁盘阵列的储存容量确定与磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;根据M个逻辑卷的储存容量和N个缓存模块的缓存容量为M个逻辑卷相应的顺序分配缓存模块并设置与M个逻辑卷一一对应的M个元素组成的数组,其中,逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;分别将M个逻辑卷对应的缓存模块中的脏块,按照脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将脏块中的脏数据按照先序遍历的方式刷写至磁盘阵列,其中,脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
与现有技术的链表组织方式相比,本申请将缓存空间划分为多个缓存模块,并根据磁盘阵列的储存容量确定多个逻辑卷。本申请为逻辑卷分配缓存模块,使得逻辑卷和缓存模块之间建立地址对应关系。本申请还设置了与逻辑卷一一对应的数组,并将数组中的元素一一作为红黑树的根节点,从而建立逻辑卷与红黑树的一一对应关系。本申请还可以确定任一逻辑卷对应的缓存模块中的脏块的地址,从而确定脏块在对应逻辑卷的对应地址,并将该对应地址作为与该逻辑卷对应的红黑树的节点的key值。然后,本申请便可以将脏块按照红黑树的预设排序规则组织成红黑树,在将脏块中的脏数据刷写至磁盘阵列时,按照对红黑树的节点先序遍历的方式刷写,也即按照地址递增的方式进行刷写,相当于对磁盘阵列进行顺序访问,从而提升了刷写的速率,缩短了刷写的时延,提高了系统的访问效率。
在上述实施例的基础上:
作为一种优选地实施例,该方法还包括:
在脏块中的脏数据刷写至磁盘阵列后,删除与脏块对应的红黑树的节点。
具体地,考虑到脏块中的脏数据刷写至磁盘阵列后,该脏块已经不符合其定义,本申请会将红黑树中不符合定义的脏块对应的节点删除。当该脏块再次成为脏块时,重新插入红黑树即可。
作为一种优选地实施例,红黑树的预设排序规则具体为红黑树的节点的左孩子的key值小于该节点的key值,红黑树的节点的右孩子的key值大于该节点的key值。
具体地,红黑树的排序规则可以设置为红黑树的节点的左孩子的key值小于该节点的key值,红黑树的节点的右孩子的key值大于该节点的key值。至于具体的排序规则,本申请在此不做特别的限定。
作为一种优选地实施例,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的脏块在与其对应的红黑树中的位置,并在满足排序规则的前提下,根据确定的位置将生成的脏块插入该红黑树。
具体地,当有新的写访问时,导致新的脏块生成,此时需要将新的脏块添加至对应的红黑树中。首先,根据该脏块所属的逻辑卷,找到与该逻辑卷对应的红黑树的根节点,其次,根据该脏块在逻辑卷中的对应地址,查找红黑树,对比各节点的key值大小,将该脏块插入到正确的位置。如果插入新的节点后,不满足红黑树的排序规则时,对红黑树进行调整,直到满足红黑树的排序规则为止。
作为一种优选地实施例,红黑树插入节点的平均时间复杂度的关系式为O(logn),其中,n为红黑树节点的数量。
具体地,如果通过有序链表的方式组织脏块,有序链表插入节点的平均时间复杂度为O(n),其中,n为脏块的数量。而本申请中红黑树插入节点的平均时间复杂度为O(logn),能够有效的降级数据处理时延,提高系统的访问效率。
请参照图2,图2为本发明提供的一种缓存中脏数据的组织管理系统的结构示意图,该系统包括:
预设单元1,用于预先将存储系统中的缓存空间划分为N个缓存模块,并根据存储系统中的磁盘阵列的储存容量确定与磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
分配单元2,用于根据M个逻辑卷的储存容量和N个缓存模块的缓存容量为M个逻辑卷相应的顺序分配缓存模块并设置与M个逻辑卷一一对应的M个元素组成的数组,其中,逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
组织单元3,用于分别将M个逻辑卷对应的缓存模块中的脏块,按照脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将脏块中的脏数据按照先序遍历的方式刷写至磁盘阵列,其中,脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
作为一种优选地实施例,该系统还包括:
删除单元,用于在脏块中的脏数据刷写至磁盘阵列后,删除与脏块对应的红黑树的节点。
作为一种优选地实施例,红黑树的预设排序规则具体为红黑树的节点的左孩子的key值小于该节点的key值,红黑树的节点的右孩子的key值大于该节点的key值。
作为一种优选地实施例,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的脏块在与其对应的红黑树中的位置,并在满足排序规则的前提下,根据确定的位置将生成的脏块插入该红黑树。
本发明提供的组织管理系统的介绍请参考上述组织管理方法实施例,本发明在此不再赘述。
本发明还提供了一种存储系统,包括上述任一种缓存中脏数据的组织管理系统。
本发明提供的存储系统的介绍请参考上述组织管理系统实施例,本发明在此不再赘述。
还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种缓存中脏数据的组织管理方法,其特征在于,包括:
预先将存储系统中的缓存空间划分为N个缓存模块,并根据所述存储系统中的磁盘阵列的储存容量确定与所述磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
根据M个所述逻辑卷的储存容量和N个所述缓存模块的缓存容量为M个所述逻辑卷相应的顺序分配缓存模块并设置与M个所述逻辑卷一一对应的M个元素组成的数组,其中,所述逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
分别将M个所述逻辑卷对应的缓存模块中的脏块,按照所述脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将所述脏块中的脏数据按照先序遍历的方式刷写至所述磁盘阵列,其中,所述脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
在所述脏块中的脏数据刷写至所述磁盘阵列后,删除与所述脏块对应的红黑树的节点。
3.如权利要求2所述的方法,其特征在于,所述红黑树的预设排序规则具体为所述红黑树的节点的左孩子的key值小于该节点的key值,所述红黑树的节点的右孩子的key值大于该节点的key值。
4.如权利要求1-3任一项所述的方法,其特征在于,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的所述脏块在与其对应的红黑树中的位置,并在满足所述排序规则的前提下,根据确定的位置将生成的所述脏块插入该红黑树。
5.如权利要求4所述的方法,其特征在于,所述红黑树插入节点的平均时间复杂度的关系式为O(log n),其中,n为所述红黑树节点的数量。
6.一种缓存中脏数据的组织管理系统,其特征在于,包括:
预设单元,用于预先将存储系统中的缓存空间划分为N个缓存模块,并根据所述存储系统中的磁盘阵列的储存容量确定与所述磁盘阵列对应的M个逻辑卷,其中,N、M均为正整数且M<N;
分配单元,用于根据M个所述逻辑卷的储存容量和N个所述缓存模块的缓存容量为M个所述逻辑卷相应的顺序分配缓存模块并设置与M个所述逻辑卷一一对应的M个元素组成的数组,其中,所述逻辑卷分配的缓存模块的缓存容量小于等于该逻辑卷的储存容量;
组织单元,用于分别将M个所述逻辑卷对应的缓存模块中的脏块,按照所述脏块在逻辑卷的对应地址及红黑树的预设排序规则组织成M个红黑树,以便将所述脏块中的脏数据按照先序遍历的方式刷写至所述磁盘阵列,其中,所述脏块在逻辑卷的对应地址为该逻辑卷对应的红黑树的节点的key值,与第i个逻辑卷对应的元素为与该逻辑卷对应的红黑树的根节点,i为正整数且i≤M。
7.如权利要求6所述的系统,其特征在于,该系统还包括:
删除单元,用于在所述脏块中的脏数据刷写至所述磁盘阵列后,删除与所述脏块对应的红黑树的节点。
8.如权利要求7所述的系统,其特征在于,所述红黑树的预设排序规则具体为所述红黑树的节点的左孩子的key值小于该节点的key值,所述红黑树的节点的右孩子的key值大于该节点的key值。
9.如权利要求6-8任一项所述的系统,其特征在于,所述红黑树插入新的脏块的过程具体包括:
当新的脏块生成时,根据生成的脏块在逻辑卷的对应地址确定生成的所述脏块在与其对应的红黑树中的位置,并在满足所述排序规则的前提下,根据确定的位置将生成的所述脏块插入该红黑树。
10.一种存储系统,其特征在于,包括如权利要求6-9任一项所述的缓存中脏数据的组织管理系统。
CN201711065726.3A 2017-11-02 2017-11-02 一种缓存中脏数据的组织管理方法、系统及存储系统 Active CN107844436B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711065726.3A CN107844436B (zh) 2017-11-02 2017-11-02 一种缓存中脏数据的组织管理方法、系统及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711065726.3A CN107844436B (zh) 2017-11-02 2017-11-02 一种缓存中脏数据的组织管理方法、系统及存储系统

Publications (2)

Publication Number Publication Date
CN107844436A CN107844436A (zh) 2018-03-27
CN107844436B true CN107844436B (zh) 2021-07-16

Family

ID=61681271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711065726.3A Active CN107844436B (zh) 2017-11-02 2017-11-02 一种缓存中脏数据的组织管理方法、系统及存储系统

Country Status (1)

Country Link
CN (1) CN107844436B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542348B (zh) * 2018-11-19 2022-05-10 郑州云海信息技术有限公司 一种数据下刷方法及装置
CN110096234A (zh) * 2019-04-30 2019-08-06 深圳忆联信息系统有限公司 一种提高固态硬盘中写性能的方法及其系统
CN116431080B (zh) * 2023-06-09 2023-08-29 苏州浪潮智能科技有限公司 一种数据落盘方法、系统、设备及计算机可读存储介质
CN116893786B (zh) * 2023-09-05 2024-01-09 苏州浪潮智能科技有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359326A (zh) * 2007-07-31 2009-02-04 英业达股份有限公司 一种刷新指定裸设备脏数据的系统及方法
CN101840309A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 多路径环境下双控磁盘阵列的访问控制方法及系统
CN103177085A (zh) * 2013-02-26 2013-06-26 华为技术有限公司 一种检查点操作方法及装置
CN103229136A (zh) * 2012-12-26 2013-07-31 华为技术有限公司 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN107015763A (zh) * 2017-03-03 2017-08-04 北京中存超为科技有限公司 混合存储系统中ssd管理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
CN102541468B (zh) * 2011-12-12 2015-03-04 华中科技大学 虚拟化环境下的脏数据回写系统
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
CN103309820A (zh) * 2013-06-28 2013-09-18 曙光信息产业(北京)有限公司 磁盘阵列缓存的实现方法
US9965181B2 (en) * 2015-04-08 2018-05-08 Kabushiki Kaisha Toshiba Hybrid-HDD with multiple caching modes
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359326A (zh) * 2007-07-31 2009-02-04 英业达股份有限公司 一种刷新指定裸设备脏数据的系统及方法
CN101840309A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 多路径环境下双控磁盘阵列的访问控制方法及系统
CN103229136A (zh) * 2012-12-26 2013-07-31 华为技术有限公司 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN103177085A (zh) * 2013-02-26 2013-06-26 华为技术有限公司 一种检查点操作方法及装置
CN107015763A (zh) * 2017-03-03 2017-08-04 北京中存超为科技有限公司 混合存储系统中ssd管理方法及装置

Also Published As

Publication number Publication date
CN107844436A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
CN107844436B (zh) 一种缓存中脏数据的组织管理方法、系统及存储系统
CN109154917B (zh) 存储系统和固态硬盘
CN107066393B (zh) 提高地址映射表中映射信息密度的方法
KR101599177B1 (ko) 복합식 비휘발성 저장 디바이스를 위한 데이터 이송
KR102440370B1 (ko) Ssd 내 핫 데이터 및 스트림을 식별하기 위한 시스템 및 방법
CN107153707B (zh) 一种针对非易失内存的哈希表构建方法及系统
US10303374B2 (en) Data check method and storage system
EP3037988A1 (en) Configuration method and device for hash database
CN104503703B (zh) 缓存的处理方法和装置
CN104636285A (zh) 一种闪存存储系统及其读写、删除方法
CN106970765B (zh) 数据存储方法及装置
CN110858162B (zh) 内存管理方法及装置、服务器
US9307024B2 (en) Efficient storage of small random changes to data on disk
CN109407985A (zh) 一种数据管理的方法以及相关装置
US11385900B2 (en) Accessing queue data
CN109213423A (zh) 基于地址屏障无锁处理并发io命令
US20180046383A1 (en) Movement of frequently accessed data chunks between storage tiers
US11163446B1 (en) Systems and methods of amortizing deletion processing of a log structured storage based volume virtualization
CN107861841B (zh) 一种SSD Cache中数据映射的管理方法及系统
CN111104435B (zh) 一种元数据组织方法、装置、设备及计算机可读存储介质
CN110209489B (zh) 一种适用于内存页结构的内存管理方法及装置
US9824105B2 (en) Adaptive probabilistic indexing with skip lists
US10169250B2 (en) Method and apparatus method and apparatus for controlling access to a hash-based disk
KR101021364B1 (ko) 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치
US20220391317A1 (en) Systems, methods, and apparatus for wear-level aware memory allocation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant