CN106933493B - 用于缓存盘阵列扩容的方法及设备 - Google Patents

用于缓存盘阵列扩容的方法及设备 Download PDF

Info

Publication number
CN106933493B
CN106933493B CN201511021242.XA CN201511021242A CN106933493B CN 106933493 B CN106933493 B CN 106933493B CN 201511021242 A CN201511021242 A CN 201511021242A CN 106933493 B CN106933493 B CN 106933493B
Authority
CN
China
Prior art keywords
cache
array
cache disk
disks
new
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
CN201511021242.XA
Other languages
English (en)
Other versions
CN106933493A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201511021242.XA priority Critical patent/CN106933493B/zh
Priority to US15/387,790 priority patent/US10261908B2/en
Publication of CN106933493A publication Critical patent/CN106933493A/zh
Application granted granted Critical
Publication of CN106933493B publication Critical patent/CN106933493B/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/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0866Addressing 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
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1012Design facilitation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/305Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的各种实施例提供了一种用于缓存盘阵列扩容的方法及设备。该方法包括:响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为该第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;基于初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号中;响应于该存储空间的分配的完成,将存储在内存中的相同的缓存页元数据也保存到该目录逻辑单元号中,以使得该第一新缓存盘处于就绪状态;以及响应于该第一新缓存盘处于就绪状态,将该第一新缓存盘置于已初始化状态以完成对第一缓存盘阵列的扩容。

Description

用于缓存盘阵列扩容的方法及设备
技术领域
本公开的各种实施例总体上涉及存储领域,并更为具体地涉及用于缓存盘阵列扩容的方法及设备。
背景技术
快速缓存(FAST Cache)是EMC VNX中的第二级缓存,其透明地将数据从硬盘驱动器(HDD)缓存到固态硬盘(SSD)中。已知SDD具有比HDD更高的性能。
在之前的快速缓存的实现方式中,如果希望使用更多的SSD对快速缓存进行扩容,用户必须首先将现有的快速缓存停用,将其中的全部数据复制(promote)到硬盘(HardDisk)中,将快速缓存清空,随后使用更多的SSD来重建快速缓存。这就意味着之前复制到快速缓存中的热点数据(hot data)将会丢失,而这些热点数据需要很长的时间才能够被再次复制到快速缓存中。在快速缓存被清空以及创建的过程中,用户将无法从快速缓存中获益,这甚至将会对缓存阵列的整体性能造成更为不良的影响,因为在这一过程中将产生更多的内部输入/输出(IO)操作。
发明内容
为了解决上述问题,本公开的实施例提供了一种用于缓存盘阵列扩容的方法及设备,该方法使得能够在不停用已有缓存盘的情况下,向缓存盘阵列中添加新的缓存盘以对缓存盘阵列进行扩容。在之前的不具备扩容选项的FAST Cache实现方式中,如果用户发现SSD并不足够对热点数据进行缓存,则用户需要首先停用/清除FAST Cache并使用更多的SSD来重建FAST Cache,并且该过程具有一定的破坏性。本公开实施例中所示的在线(online)FAST Cache扩容这一特征不具有破坏性,并且由于在FAST Cache中引入了更多SSD并进而能够缓存更多的热点数据,因此其将带来比之前的FAST Cache更加良好的性能。
本公开的第一方面提供了一种用于缓存盘阵列扩容的方法,包括:响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为该第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;基于初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号(LUN)中;响应于该存储空间的分配的完成,将存储在内存中的相同的该缓存页元数据也保存到该目录逻辑单元号LUN中,以使得该第一新缓存盘处于就绪状态;以及响应于该第一新缓存盘处于就绪状态,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。由于可以在不停用已有缓存盘的前提下执行上述缓存盘扩容操作,因此可以保证之前复制到快速缓存中的热点数据不会丢失,并且不会影响快速缓存的性能。
根据本公开的实施例,对该第一新缓存盘执行的初始化包括:创建目录逻辑单元号LUN和数据逻辑单元号LUN。
根据本公开的实施例,该方法还包括:在检测被添加到该第一缓存盘阵列中的该第一新缓存盘之前,确定是否向该第一缓存盘阵列中插入该第一新缓存盘。这有利于向用户提供更为友好的界面,以使得用户在做出对现有缓存盘阵列的扩容决定之前就能够判断是否有必要进行扩容操作,或者进行该扩容操作是否能够带来性能上的改善。
根据本公开的实施例,确定是否向该第一缓存盘阵列中添加该第一新缓存盘包括:设置第一计数值和第二计数值,其中该第一计数值表示对被访问且被缓存到该第一缓存盘阵列中的页的计数值,并且该第二计数值表示对被访问但未被复制到第一缓存盘阵列中的页的计数值;以及当该第一计数值小于该第二计数值时,确定向该第一缓存盘阵列中添加该第一新缓存盘。上述计数值的设定有利于对是否执行扩容操作进行量化的判断。
根据本公开的实施例,响应于该第一新缓存盘处于就绪状态,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容包括:响应于将该第一新缓存盘置于就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对该第一新缓存盘阵列的扩容,其中该第二缓存盘阵列被配置为该第一缓存盘阵列的对等缓存盘阵列。
根据本公开的实施例,响应于将该第一新缓存盘置于就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对第一新缓存盘阵列的扩容包括:响应于将该第一新缓存盘置于就绪状态,从该第一缓存盘阵列向第二缓存盘阵列发送指示该第一新缓存盘处于就绪状态的通知;以及响应于该第一缓存盘阵列从该第二缓存盘阵列接收到指示该第二新缓存盘也处于就绪状态的通知,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。该额外的来自例如第二缓存盘阵列的对等的缓存盘阵列的确认步骤尤其有利于确保数据的安全性。
根据本公开的实施例,该方法还包括:在该方法的任一步骤发生故障时:响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除。
根据本公开的实施例,响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除包括:在该方法的任一步骤发生故障时:从该第一缓存盘阵列向该第二缓存盘阵列发送故障消息,以指示该第一缓存盘阵列的扩容步骤中的该任一步骤中发生故障;以及响应于该第二缓存盘阵列接受该故障消息,将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除,否则响应于该第二缓存盘阵列拒绝该故障消息,将该第一缓存盘阵列置为等待状态,以等待该第二缓存盘阵列接受所述故障消息,其中在所述第二缓存盘阵列未完成扩容的情况下,所述第二缓存盘阵列拒绝来自所述第一缓存盘阵列的所述故障消息,并且其中在所述第二缓存盘阵列完成扩容的情况下,所述第二缓存盘阵列接受来自所述第一缓存盘阵列的所述故障消息。在发生故障的情况下,该额外的来自例如第二缓存盘阵列的对等的缓存盘阵列的确认步骤同样有利于确保数据的安全性。
本公开的第二方面提供了一种用于缓存盘阵列扩容的设备,包括:初始化装置,用于响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为所述第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;存储空间分配装置,用于基于初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号LUN中;缓存页元数据保存装置,用于响应于存储空间的分配的完成,将存储在内存中的相同的该缓存页元数据也保存到该目录逻辑单元号LUN中,以使得该第一新缓存盘处于就绪状态;以及扩容确定装置,用于响应于该第一新缓存盘处于该就绪状态,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,该初始化装置被配置为创建目录逻辑单元号LUN和数据逻辑单元号LUN。
根据本公开的实施例,该设备还包括:判断装置,用于在检测被添加到该第一缓存盘阵列中的该第一新缓存盘之前,确定是否向该第一缓存盘阵列中插入该第一新缓存盘。
根据本公开的实施例,该判断装置包括:计数值设置装置,用于设置第一计数值和第二计数值,其中该第一计数值表示对被访问且被缓存到该第一缓存盘阵列中的页的计数值,并且该第二计数值表示对被访问但未被复制到第一缓存盘阵列中的页的计数值;以及判断单元,用于当该第一计数值小于该第二计数值时,确定向该第一缓存盘阵列中添加该第一新缓存盘。
根据本公开的实施例,该扩容确定装置包括:确定单元,用于响应于将该第一新缓存盘置于就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对该第一新缓存盘阵列的扩容,其中该第二缓存盘阵列被配置为该第一缓存盘阵列的对等缓存盘阵列。
根据本公开的实施例,该确定单元包括:发送单元,用于响应于将该第一新缓存盘置于就绪状态,从该第一缓存盘阵列向第二缓存盘阵列发送指示该第一新缓存盘处于就绪状态的通知;以及接收单元,用于响应于该第一缓存盘阵列从该第二缓存盘阵列接收到指示该第二新缓存盘也处于就绪状态的通知,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,该设备还包括故障检测装置,用于在该设备的任一装置发生故障时:响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除。
根据本公开的实施例,该故障检测装置包括:故障消息发送单元,用于从该第一缓存盘阵列向该第二缓存盘阵列发送故障消息,以指示该第一缓存盘阵列的扩容步骤中的任一步骤中发生故障;以及标识单元,响应于该第二缓存盘阵列接受该故障消息,将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除,否则响应于该第二缓存盘阵列拒绝该故障消息,将该第一缓存盘阵列置为等待状态,以等待该第二缓存盘阵列接受该故障消息,其中在该第二缓存盘阵列未完成扩容的情况下,该第二缓存盘阵列拒绝来自该第一缓存盘阵列的该故障消息,并且其中在该第二缓存盘阵列完成扩容的情况下,该第二缓存盘阵列接受来自该第一缓存盘阵列的该故障消息。
本公开的第三方面提供了一种用于缓存盘阵列扩容的计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据本公开的第一方面该的方法的步骤。
附图说明
图1示出了根据本公开实施例的快速缓存(FAST Cache)的设备关系图。
图2示出了根据本公开实施例的用于缓存盘阵列扩容的方法的流程图。
图3图示了根据本公开另一实施例的用于缓存盘阵列扩容的方法的框图。
图4示出了根据本公开实施例的用于缓存盘阵列扩容的设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
图1示出了根据本公开实施例的快速缓存(FAST Cache)的设备关系图。
根据本公开的实施例,如图1所示,两个SSD盘(也称为SSD对)作为一个Raid组(即,Raid 1)被提供给快速缓存,并且将这一对SSD盘视为快速缓存的物理设备(FAST Cachedevice)(1、2),其被用于为用户存储热点数据。
根据本公开的实施例,每个缓存页中包括元数据,元数据存储SSD和HDD中的页的映射信息,以及指示该页是否未被复制(dirty)的信息,该映射信息被存储在如图1所示的缓存页哈希表(3)中。
根据本公开的实施例,每个设备(如图1中所示的设备0或设备1)可以缓存特定数目的缓存页,例如可以缓存N个缓存页(4a、4b)。此外,快速缓存还相应地被分配了N个影子页(shadow pages)(5a、5b)以跟踪被访问过但未被缓存到SSD中的输入/输出(I/O)历史信息。
需要指出,根据图1的实施例并不旨在限定设备的具体数目,更多数目的设备(例如,设备2、设备3…、设备n)可以被包含在该快速缓存结构中。
根据本公开的实施例,该快速缓存还包括空闲列表,例如,图1中所示的设备0/设备1空闲列表(6、7)指示出可用于复制(promote)数据的页的数目。
图2示出了根据本公开实施例的用于缓存盘阵列扩容的方法200。方法200包括步骤S210到步骤S240:
在步骤S210,响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为该第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;
在步骤S220,基于该初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号(LUN)中;
在步骤S230,响应于该存储空间的分配的完成,将存储在内存中的相同的该缓存页元数据也保存到该目录逻辑单元号(DIR LUN)中,以使得该第一新缓存盘处于就绪状态(Ready);以及
在步骤S240,响应于该第一新缓存盘处于该就绪状态,将该第一新缓存盘置于已初始化状态(Initialized)以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,对该第一新缓存盘执行的该初始化包括:创建目录逻辑单元号(DIR LUN)和数据逻辑单元号(DATA LUN)。
根据本公开的实施例,在当快速缓存被热点数据接近填满时,才需要向缓存盘阵列添加更多的SSD以对缓存盘阵进行扩容。因此,为了提供更为友好的用户接口以使得用户获知是否需要对缓存盘阵进行扩容以获得更大的益处,该缓存盘阵列扩容的方法200可以额外地包括:在检测被添加到该第一缓存盘阵列中的该第一新缓存盘之前,确定是否向该第一缓存盘阵列中插入该第一新缓存盘。
根据本公开的实施例,确定是否向该第一缓存盘阵列中添加该第一新缓存盘包括:设置第一计数值和第二计数值,其中该第一计数值可以表示对被访问且被缓存到该第一缓存盘阵列中的页的计数值。例如,第一计数值可以是缓存页命中计数值(cache hitcount)。该第二计数值可以表示对被访问但未被复制到第一缓存盘阵列中的页(即,影子页)的计数值。例如,第二计数值可以是影子页命中计数值(shadow hit count),其中影子页命中被视为“虚拟的”缓存命中。当该第一计数值小于该第二计数值时,例如,当cachehit count<shadow hit count时,可以确定向该第一缓存盘阵列中添加该第一新缓存盘。
在实践中,根据一个具体示例,可以利用缓存的大小X(即,在该缓存中可存储的最大缓存页的数目),来将例如作为第一计数值的缓存页命中计数值进行归一化处理,以获得下面等式(1):
Figure BDA0000896606850000081
其中,Y相应地表示第一缓存页命中率。
同样根据该具体示例,可以将影子缓存的大小设定为等于缓存的大小,即,两者的大小均被设定为X,来将影子页命中计数值的影响也考虑到整体的缓存命中率的计算中,并将例如作为第一计数值的缓存页命中计数值与例如作为第二计数值的影子缓存命中计数值一起进行与上面等式(1)中类似地归一化处理,以获得下面等式(2):
Figure BDA0000896606850000082
其中,Z相应地表示第二缓存页命中率。
这样,在数学上可以证明,如果Z大于Y,则表示许多页被访问多次但并没有被复制到快速缓存中。因此,这时用户将有必要扩展快速缓存以获得更多的益处。
图3更为具体地图示了根据本公开另一实施例的用于缓存盘阵列扩容的方法300的框图,方法300包括步骤S310至步骤S340。其中设备0为已有缓存盘,而设备1为待添加至缓存盘阵列的新的缓存盘设备。下面将通过图3并结合图1和图2进行详细描述。
如图3所示的具体示例中,使用了双存储处理器(SP)系统,即如图3所示的具体示例中的本地SP和对等(peer)SP。该系统使用消息传递服务(MPS)来在两个SP之间进行通信,其中示出的同步(SYNC)事务是一种在两个SP之间更新/保留数据的机制。
如图3所示的具体示例中,方法300中的步骤S310至步骤S340基本上分别与图2中的步骤S210至步骤S240相对应。具体而言:
-在步骤S310处,首先发送“扩容”命令,以开始添加设备1,并且然后为设备1设置DIR LUN和DATA LUN;
-在步骤S320处,为设备1分配存储空间,设置缓存页元数据和影子数据列表;
-在步骤S330处,将缓存页元数据写入到DIR LUN,并与对等SP进行同步;
-在步骤S340处,完成扩容,使得能够向设备1中复制数据。
在如图3所示的具体示例中,与方法200的不同之处在于,方法300在步骤S330处包括了如下额外的处理,即,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容还包括:响应于将该第一新缓存盘(例如本地SP中的设备1)置于该就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘(例如对等SP中的设备1)也处于就绪状态,来完成对该第一新缓存盘阵列的扩容,其中该第二缓存盘阵列(例如,对等SP)被配置为该第一缓存盘阵列(例如,本地SP)的对等缓存盘阵列。
根据本公开的实施例,响应于将该第一新缓存盘置于该就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对该第一新缓存盘阵列的扩容还包括:响应于将该第一新缓存盘,例如本地SP中的设备1,置于该就绪状态,从该第一缓存盘阵列向第二缓存盘阵列发送指示该第一新缓存盘处于就绪状态的通知,如图3中所示的同步(SYNC)状态;以及响应于该第一缓存盘阵列(例如,本地SP)从该第二缓存盘阵列(例如,对等SP)接收到指示该第二新缓存盘也处于就绪状态的通知,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,该方法200和方法300还可以包括:在该方法的任一步骤发生故障时:响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除。
根据本公开的具体示例,当在方法200或方法300中任意步骤发生故障的情况下,本地SP与对等SP进行状态同步,以使得能够将例如设备1的第一新缓存盘从例如本地SP的该第一缓存盘阵列中移除。
根据本公开的一个具体示例,响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除包括:在该方法的任一步骤发生故障时:从该第一缓存盘阵列(例如,本地SP)向该第二缓存盘阵列(例如,对等SP)发送故障消息,以指示该第一缓存盘阵列的扩容步骤中的该任一步骤中发生故障;以及响应于该第二缓存盘阵列接受该故障消息,将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除,否则响应于该第二缓存盘阵列拒绝该故障消息,将该第一缓存盘阵列置为等待状态,以等待该第二缓存盘阵列接受该故障消息,其中在该第二缓存盘阵列未完成扩容的情况下,该第二缓存盘阵列拒绝来自该第一缓存盘阵列的该故障消息,并且其中在该第二缓存盘阵列完成扩容的情况下,该第二缓存盘阵列接受来自该第一缓存盘阵列的该故障消息。
根据本公开的一个更为具体的示例,在方法200或方法300中的任意步骤发生故障的情况下:
在本地SP一侧:
-发起与对等SP的同步(SYNC)事务;
-如果对等SP接受了该SYNC事务,则将待添加的设备(即,本地SP中的设备1)的状态标识为故障状态,并等待用户发布命令以将该故障缓存盘设备移除;
-如果对等SP拒绝了该SYNC事务,则本地SP应当等待对等SP中的扩容步骤的完成,然后重启SYNC事务;
在对等SP一侧:
-当对等SP接收到SYNC事务时,该对等SP首先检查其自身的状态;
-如果该对等SP没有完成扩容步骤,则该对等SP设备拒绝来自本地SP的SYNC事务,并且在该对等SP完成自身的扩容过程之后,重启SYNC事务;
-如果对等SP已经完成了扩容步骤,则该对等SP设备接受来自本地SP的SYNC事务,并将其状态标识为故障状态。
在两侧的扩容状态被同步之后,用户可以发布命令以移除发生故障的缓存设备。
本公开的第二方面提供了一种用于缓存盘阵列扩容的设备400,包括:初始化装置410,用于响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为该第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;存储空间分配装置420,用于基于该初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号(LUN)中;缓存页元数据保存装置430,用于响应于该存储空间的分配的完成,将存储在内存中的相同的该缓存页元数据也保存到该目录逻辑单元号(LUN)中,以使得该第一新缓存盘处于就绪状态;以及扩容确定装置440,用于响应于该第一新缓存盘处于该就绪状态,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,该初始化装置被配置为创建目录逻辑单元号(LUN)和数据逻辑单元号(LUN)。
根据本公开的实施例,该设备还包括:判断装置,用于在检测被添加到该第一缓存盘阵列中的该第一新缓存盘之前,确定是否向该第一缓存盘阵列中插入该第一新缓存盘。
根据本公开的实施例,该判断装置包括:计数值设置装置,用于设置第一计数值和第二计数值,其中该第一计数值表示对被访问且被缓存到该第一缓存盘阵列中的页的计数值,并且该第二计数值表示对被访问但未被复制到第一缓存盘阵列中的页的计数值;以及判断单元,用于当该第一计数值小于该第二计数值时,确定向该第一缓存盘阵列中添加该第一新缓存盘。
根据本公开的实施例,该扩容确定装置包括:确定单元,用于响应于将该第一新缓存盘置于该就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对该第一新缓存盘阵列的扩容,其中该第二缓存盘阵列被配置为该第一缓存盘阵列的对等缓存盘阵列。
根据本公开的实施例,该确定单元包括:发送单元,用于响应于将该第一新缓存盘置于该就绪状态,从该第一缓存盘阵列向第二缓存盘阵列发送指示该第一新缓存盘处于就绪状态的通知;以及接收单元,用于响应于该第一缓存盘阵列从该第二缓存盘阵列接收到指示该第二新缓存盘也处于就绪状态的通知,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。
根据本公开的实施例,该设备还包括故障检测装置,用于在该设备的任一装置发生故障时:响应于该第一缓存盘阵列接收到故障确认消息,来将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除。
根据本公开的实施例,该故障检测装置包括:故障消息发送单元,用于从该第一缓存盘阵列向该第二缓存盘阵列发送故障消息,以指示该第一缓存盘阵列的扩容步骤中的该任一步骤中发生故障;以及标识单元,响应于该第二缓存盘阵列接受该故障消息,将该第一缓存盘阵列置为故障状态,以使得能够将该第一新缓存盘从该第一缓存盘阵列中移除,否则响应于该第二缓存盘阵列拒绝该故障消息,将该第一缓存盘阵列置为等待状态,以等待该第二缓存盘阵列接受该故障消息,其中在该第二缓存盘阵列未完成扩容的情况下,该第二缓存盘阵列拒绝来自该第一缓存盘阵列的该故障消息,并且其中在该第二缓存盘阵列完成扩容的情况下,该第二缓存盘阵列接受来自该第一缓存盘阵列的该故障消息。
本公开的第三方面提供了一种用于缓存盘阵列扩容的计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据本公开的第一方面该的方法的步骤。
综上所述,本公开的各种实施例提供了一种用于缓存盘阵列扩容的方法及设备。该方法包括:响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为该第一新缓存盘执行初始化,而不停用该第一缓存盘阵列中的其它缓存盘;基于该初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号中;响应于该存储空间的分配的完成,将存储在内存中的相同的该缓存页元数据也保存到该目录逻辑单元号中,以使得该第一新缓存盘处于就绪状态;以及响应于该第一新缓存盘处于该就绪状态,将该第一新缓存盘置于已初始化状态以完成对该第一缓存盘阵列的扩容。该方法使得能够在不停用已有缓存盘的情况下,向缓存盘阵列中添加新的缓存盘以对缓存盘阵列进行扩容。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (15)

1.一种用于缓存盘阵列扩容的方法,包括:
响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为所述第一新缓存盘执行初始化,而不停用所述第一缓存盘阵列中的其它缓存盘;
基于所述初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号LUN中;
响应于所述存储空间的分配的完成,将存储在内存中的相同的所述缓存页元数据也保存到所述目录逻辑单元号LUN中,以使得所述第一新缓存盘处于就绪状态;
响应于所述第一新缓存盘处于所述就绪状态,将所述第一新缓存盘置于已初始化状态以完成对所述第一缓存盘阵列的扩容;以及
如果在添加所述第一新缓存盘时发生故障:
响应于故障确认消息被所述第一缓存盘阵列接收,将所述第一缓存盘阵列配置为处于故障状态,以使得所述第一新缓存盘能够从所述第一缓存盘阵列中被移除。
2.根据权利要求1所述的方法,其中对所述第一新缓存盘执行的所述初始化包括:创建目录逻辑单元号LUN和数据逻辑单元号LUN。
3.根据权利要求1所述的方法,还包括:
在检测被添加到所述第一缓存盘阵列中的所述第一新缓存盘之前,确定是否向所述第一缓存盘阵列中插入所述第一新缓存盘。
4.根据权利要求3所述的方法,其中确定是否向所述第一缓存盘阵列中添加所述第一新缓存盘包括:
设置第一计数值和第二计数值,其中所述第一计数值表示对被访问且被缓存到所述第一缓存盘阵列中的页的计数值,并且所述第二计数值表示对被访问但未被复制到第一缓存盘阵列中的页的计数值;以及
当所述第一计数值小于所述第二计数值时,确定向所述第一缓存盘阵列中添加所述第一新缓存盘。
5.根据权利要求1所述的方法,其中响应于所述第一新缓存盘处于所述就绪状态,将所述第一新缓存盘置于已初始化状态以完成对所述第一缓存盘阵列的扩容包括:
响应于将所述第一新缓存盘置于所述就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对所述第一新缓存盘阵列的扩容,
其中所述第二缓存盘阵列被配置为所述第一缓存盘阵列的对等缓存盘阵列。
6.根据权利要求5所述的方法,其中响应于将所述第一新缓存盘置于所述就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对所述第一新缓存盘阵列的扩容包括:
响应于将所述第一新缓存盘置于所述就绪状态,从所述第一缓存盘阵列向第二缓存盘阵列发送指示所述第一新缓存盘处于就绪状态的通知;以及
响应于所述第一缓存盘阵列从所述第二缓存盘阵列接收到指示所述第二新缓存盘也处于就绪状态的通知,将所述第一新缓存盘置于已初始化状态以完成对所述第一缓存盘阵列的扩容。
7.根据权利要求1所述的方法,其中响应于所述第一缓存盘阵列接收到故障确认消息,来将所述第一缓存盘阵列置为故障状态,以使得能够将所述第一新缓存盘从所述第一缓存盘阵列中移除包括:
在所述方法的任一步骤发生故障时:
从所述第一缓存盘阵列向第二缓存盘阵列发送故障消息,以指示所述第一缓存盘阵列的扩容步骤中的所述任一步骤中发生故障;以及
响应于所述第二缓存盘阵列接受所述故障消息,将所述第一缓存盘阵列置为故障状态,以使得能够将所述第一新缓存盘从所述第一缓存盘阵列中移除,否则
响应于所述第二缓存盘阵列拒绝所述故障消息,将所述第一缓存盘阵列置为等待状态,以等待所述第二缓存盘阵列接受所述故障消息,
其中在所述第二缓存盘阵列未完成扩容的情况下,所述第二缓存盘阵列拒绝来自所述第一缓存盘阵列的所述故障消息,并且
其中在所述第二缓存盘阵列完成扩容的情况下,所述第二缓存盘阵列接受来自所述第一缓存盘阵列的所述故障消息。
8.一种用于缓存盘阵列扩容的设备,包括:
初始化装置,用于响应于检测到添加至第一缓存盘阵列中的第一新缓存盘,来为所述第一新缓存盘执行初始化,而不停用所述第一缓存盘阵列中的其它缓存盘;
存储空间分配装置,用于基于所述初始化的结果,为缓存页元数据分配存储空间,并将缓存页元数据保存到初始化的目录逻辑单元号LUN中;
缓存页元数据保存装置,用于响应于所述存储空间的分配的完成,将存储在内存中的相同的所述缓存页元数据也保存到所述目录逻辑单元号LUN中,以使得所述第一新缓存盘处于就绪状态;
扩容确定装置,用于响应于所述第一新缓存盘处于所述就绪状态,将所述第一新缓存盘置于已初始化状态以完成对所述第一缓存盘阵列的扩容;以及
故障检测装置,被配置用于:
如果在添加所述第一新缓存盘时发生故障:
响应于故障确认消息被所述第一缓存盘阵列接收,将所述第一缓存盘阵列配置为处于故障状态,以使得所述第一新缓存盘能够从所述第一缓存盘阵列中被移除。
9.根据权利要求8所述的设备,其中所述初始化装置被配置为创建目录逻辑单元号LUN和数据逻辑单元号LUN。
10.根据权利要求8所述的设备,还包括:
判断装置,用于在检测被添加到所述第一缓存盘阵列中的所述第一新缓存盘之前,确定是否向所述第一缓存盘阵列中插入所述第一新缓存盘。
11.根据权利要求10所述的设备,其中所述判断装置包括:
计数值设置装置,用于设置第一计数值和第二计数值,其中所述第一计数值表示对被访问且被缓存到所述第一缓存盘阵列中的页的计数值,并且所述第二计数值表示对被访问但未被复制到第一缓存盘阵列中的页的计数值;以及
判断单元,用于当所述第一计数值小于所述第二计数值时,确定向所述第一缓存盘阵列中添加所述第一新缓存盘。
12.根据权利要求8所述的设备,其中所述扩容确定装置包括:
确定单元,用于响应于将所述第一新缓存盘置于所述就绪状态,并且响应于处于第二缓存盘阵列中的第二新缓存盘也处于就绪状态,来完成对所述第一新缓存盘阵列的扩容,
其中所述第二缓存盘阵列被配置为所述第一缓存盘阵列的对等缓存盘阵列。
13.根据权利要求12所述的设备,其中所述确定单元包括:
发送单元,用于响应于将所述第一新缓存盘置于所述就绪状态,从所述第一缓存盘阵列向第二缓存盘阵列发送指示所述第一新缓存盘处于就绪状态的通知;以及
接收单元,用于响应于所述第一缓存盘阵列从所述第二缓存盘阵列接收到指示所述第二新缓存盘也处于就绪状态的通知,将所述第一新缓存盘置于已初始化状态以完成对所述第一缓存盘阵列的扩容。
14.根据权利要求8所述的设备,其中所述故障检测装置包括:
故障消息发送单元,用于从所述第一缓存盘阵列向第二缓存盘阵列发送故障消息,以指示所述第一缓存盘阵列的扩容步骤中的所述任一步骤中发生故障;以及
标识单元,响应于所述第二缓存盘阵列接受所述故障消息,将所述第一缓存盘阵列置为故障状态,以使得能够将所述第一新缓存盘从所述第一缓存盘阵列中移除,否则
响应于所述第二缓存盘阵列拒绝所述故障消息,将所述第一缓存盘阵列置为等待状态,以等待所述第二缓存盘阵列接受所述故障消息,
其中在所述第二缓存盘阵列未完成扩容的情况下,所述第二缓存盘阵列拒绝来自所述第一缓存盘阵列的所述故障消息,并且
其中在所述第二缓存盘阵列完成扩容的情况下,所述第二缓存盘阵列接受来自所述第一缓存盘阵列的所述故障消息。
15.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至7任一项所述的方法的步骤。
CN201511021242.XA 2015-12-30 2015-12-30 用于缓存盘阵列扩容的方法及设备 Active CN106933493B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201511021242.XA CN106933493B (zh) 2015-12-30 2015-12-30 用于缓存盘阵列扩容的方法及设备
US15/387,790 US10261908B2 (en) 2015-12-30 2016-12-22 Method and apparatus for expanding cache size for cache array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021242.XA CN106933493B (zh) 2015-12-30 2015-12-30 用于缓存盘阵列扩容的方法及设备

Publications (2)

Publication Number Publication Date
CN106933493A CN106933493A (zh) 2017-07-07
CN106933493B true CN106933493B (zh) 2020-04-24

Family

ID=59226541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021242.XA Active CN106933493B (zh) 2015-12-30 2015-12-30 用于缓存盘阵列扩容的方法及设备

Country Status (2)

Country Link
US (1) US10261908B2 (zh)
CN (1) CN106933493B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213693B (zh) 2017-06-30 2023-05-05 伊姆西Ip控股有限责任公司 存储管理方法、存储系统和计算机程序产品
CN109299066A (zh) * 2018-07-27 2019-02-01 阿里巴巴集团控股有限公司 一种数据库扩容方法及装置
CN111124255B (zh) 2018-10-31 2023-09-08 伊姆西Ip控股有限责任公司 数据存储方法、电子设备和计算机程序产品
US11068175B2 (en) * 2018-12-21 2021-07-20 Intel Corporation Technology to manage capacity loss in storage drives
CN112995257B (zh) * 2019-12-16 2022-08-02 中国电信股份有限公司 基于云存储架构的缓存扩容方法、装置以及存储介质
US11748016B2 (en) * 2021-05-06 2023-09-05 EMC IP Holding Company LLC Method for adding disks in a raid system having a protection pool of storage units
US11640343B2 (en) 2021-05-06 2023-05-02 EMC IP Holding Company LLC Method for migrating data in a raid system having a protection pool of storage units
US11989449B2 (en) 2021-05-06 2024-05-21 EMC IP Holding Company LLC Method for full data reconstruction in a raid system having a protection pool of storage units
US11733922B2 (en) 2021-05-06 2023-08-22 EMC IP Holding Company LLC Method for data reconstruction in a RAID system having a protection pool of storage units

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
CN102333103A (zh) * 2010-07-12 2012-01-25 戴元顺 云存储系统
CN105138673A (zh) * 2015-09-08 2015-12-09 浙江风向标科技有限公司 一种基于物联网的海量存储系统及存储方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US20090210620A1 (en) * 2008-02-19 2009-08-20 Jibbe Mahmoud K Method to handle demand based dynamic cache allocation between SSD and RAID cache
US8825936B2 (en) * 2009-08-03 2014-09-02 Quantum Corporation Systems and methods for increasing data volume sparseness
US9235474B1 (en) * 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US8990495B2 (en) * 2011-11-15 2015-03-24 Emc Corporation Method and system for storing data in raid memory devices
CN105009092A (zh) * 2013-04-26 2015-10-28 株式会社日立制作所 存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
CN102333103A (zh) * 2010-07-12 2012-01-25 戴元顺 云存储系统
CN105138673A (zh) * 2015-09-08 2015-12-09 浙江风向标科技有限公司 一种基于物联网的海量存储系统及存储方法

Also Published As

Publication number Publication date
US20170192895A1 (en) 2017-07-06
CN106933493A (zh) 2017-07-07
US10261908B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN106933493B (zh) 用于缓存盘阵列扩容的方法及设备
RU2596585C2 (ru) Способ отправки данных, способ приема данных и устройство хранения данных
JP6231669B2 (ja) データ書込み要求処理方法及びストレージアレイ
CN103329111B (zh) 一种基于块存储的数据处理方法、装置及系统
CN107506266B (zh) 一种数据恢复方法及系统
CN107329704B (zh) 一种缓存镜像方法及控制器
US20120078844A1 (en) System and method for distributed processing of file volume
TW201711432A (zh) 對伺服器進行健康檢查的方法及設備
US11409456B2 (en) Methods to reduce storage capacity
CN114443364B (zh) 一种分布式块存储数据处理方法、装置、设备及存储介质
WO2018076633A1 (zh) 一种远程数据复制方法、存储设备及存储系统
WO2017147794A1 (zh) 差异数据备份的方法和设备
US9336157B1 (en) System and method for improving cache performance
WO2019000423A1 (zh) 一种数据存储方法及设备
US11494405B2 (en) Lock contention resolution for active-active replication performed in conjunction with journal recovery
US8909816B2 (en) Implementing a logical unit reset command in a distributed storage system
US11435955B1 (en) System and method for offloading copy processing across non-volatile memory express (NVMe) namespaces
US9864661B2 (en) Cache-accelerated replication of snapshots between storage devices
US11144454B2 (en) Enhanced vault save with compression
US11086379B2 (en) Efficient storage system battery backup usage through dynamic implementation of power conservation actions
US11675673B2 (en) System and method for promoting fractured volumes
JP2018010698A (ja) データ書込み要求処理方法及びストレージアレイ
US10656867B2 (en) Computer system, data management method, and data management program
US10437471B2 (en) Method and system for allocating and managing storage in a raid storage system
WO2015085802A1 (zh) 数据存储方法及存储装置

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
TA01 Transfer of patent application right

Effective date of registration: 20200318

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant